摘要:所以,雖然接口正確返回了,但是由于跨域限制取不到這個(gè)值。這個(gè)需要在中深層次跨域設(shè)置。第一個(gè)想到的就是在父級(jí)的中加入設(shè)置。找了半天,最后找到一個(gè)不是很完美的解決方案,就是在里邊加入了跨域的設(shè)置。因?yàn)殚_(kāi)發(fā)原則是盡量不要?jiǎng)影?/p>
1.一般的跨域get和post,通過(guò)設(shè)置nginx就可以解決。在nginx.conf的http中加入以下代碼即可
add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With,Content-Type,x_requested_with; add_header Access-Control-Allow-Methods HEAD,GET,POST,OPTIONS;
2.在上面的nginx跨域配置好的情況下。最近遇到一個(gè)問(wèn)題,就是yii2 restful帶token請(qǐng)求,如果鑒權(quán)失敗返回401,axios獲取不到。找了半天發(fā)現(xiàn)是服務(wù)器端的問(wèn)題。具體原理也不是很清楚,大體意思就是客戶端請(qǐng)求有幾個(gè)層次,鑒權(quán)的代碼比較靠前,并沒(méi)有用到nginx的跨域。所以,雖然接口正確返回了401,但是axios由于跨域限制取不到這個(gè)值。這個(gè)需要在yii2中深層次跨域設(shè)置。
3.第一個(gè)想到的就是在父級(jí)controller的behaviors中加入cors設(shè)置。這個(gè)是yii2自帶的一個(gè)配置。但是發(fā)現(xiàn)客戶端報(bào)錯(cuò),意思是不能有兩個(gè)相同的跨域域名。因?yàn)檫@樣yii2的跨域設(shè)置和nginx的跨域設(shè)置沖突了。
4.找了半天,最后找到一個(gè)不是很完美的解決方案,就是在yii/filters/auth/AuthMethod.php里邊加入了跨域的設(shè)置。因?yàn)閷?shí)在沒(méi)有找到其他什么地方,可以在authenticatior失敗之前設(shè)置自定義header來(lái)跨域。
5.當(dāng)然,我覺(jué)得這個(gè)方法爛透了。因?yàn)閥ii2開(kāi)發(fā)原則是盡量不要?jiǎng)觱endor包。不知道有沒(méi)有大神,能給我提供一個(gè)更好的方法。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/31687.html
摘要:一入冬懶癌發(fā)作,給自己找點(diǎn)事干。之前博客程序?qū)戇^(guò)幾次,的寫(xiě)過(guò)兩次,用寫(xiě)過(guò),隨著版本從升級(jí)到之前的博客程序也做過(guò)升級(jí)。這里主要記錄一下開(kāi)發(fā)過(guò)程中遇到的問(wèn)題和解決方法。后端使用守護(hù)進(jìn)程即可。 一入冬懶癌發(fā)作,給自己找點(diǎn)事干。之前博客程序?qū)戇^(guò)幾次,php 的寫(xiě)過(guò)兩次,nodejs 用 ThinkJS 寫(xiě)過(guò),隨著 ThinkJS 版本從1.x 升級(jí)到 2.x 之前的博客程序也做過(guò)升級(jí)。但是因?yàn)?..
摘要:說(shuō)明測(cè)試使用的接口域名,多域名為和。設(shè)置多域名嘗試直接通過(guò)的模塊追加值實(shí)現(xiàn),如下接口請(qǐng)求和響應(yīng)頭如下當(dāng)前域?yàn)椋杩缬蛘?qǐng)求的資源。故通過(guò)該方法不能設(shè)置多域名進(jìn)行。 首發(fā)于 樊浩柏科學(xué)院 平常我們遇到跨域問(wèn)題時(shí),常使用 cors(Cross-origin resource sharin)方式解決。不知你是否注意到,在設(shè)置響應(yīng)頭 Access-Control-Allow-Origin 域的...
摘要:工欲善其事必先利其器繼續(xù)打磨前端架構(gòu)抱歉生病拖更了,快樂(lè)本文永久更新地址填坑上回還真的有同學(xué)提到了這個(gè)問(wèn)題,感謝細(xì)心的你。既實(shí)現(xiàn)了攔截又實(shí)現(xiàn)了狀態(tài)的共享。愉快的拿到了數(shù)據(jù)這樣,前后分離的項(xiàng)目可以這樣借助測(cè)試接口,不需要騷擾任何人。 工欲善其事必先利其器 - 繼續(xù)打磨前端架構(gòu) 抱歉生病拖更了,1024快樂(lè) 本文永久更新地址 填坑 上回還真的有同學(xué)提到了這個(gè)問(wèn)題,感謝細(xì)心的你。@_noob...
摘要:今天松哥就帶大家來(lái)看看的使用。此時(shí)啟動(dòng)前端項(xiàng)目,就可以順利發(fā)送網(wǎng)絡(luò)請(qǐng)求了。松哥將自己封裝的網(wǎng)絡(luò)請(qǐng)求庫(kù)已經(jīng)放在上,歡迎大家參考。前端網(wǎng)絡(luò)訪問(wèn),主流方案就是 Ajax,Vue 也不例外,在 Vue2.0 之前,網(wǎng)絡(luò)訪問(wèn)較多的采用 vue-resources,Vue2.0 之后,官方不再建議使用 vue-resources ,這個(gè)項(xiàng)目本身也停止維護(hù),目前建議使用的方案是 axios。今天松哥就帶大...
這篇說(shuō)下yii2.0開(kāi)發(fā) API 吧,使用 RESTful API模式 安裝Yii2.0 通過(guò) Composer 安裝 這是安裝Yii2.0的首選方法。如果你還沒(méi)有安裝 Composer,你可以按照這里的說(shuō)明進(jìn)行安裝。 安裝完 Composer,運(yùn)行下面的命令來(lái)安裝 Composer Asset 插件: php composer.phar global require fxp/composer-a...
閱讀 1424·2021-11-15 11:45
閱讀 3188·2021-09-27 13:36
閱讀 2921·2019-08-30 15:54
閱讀 1044·2019-08-29 12:38
閱讀 2975·2019-08-29 11:22
閱讀 3063·2019-08-26 13:52
閱讀 2100·2019-08-26 13:30
閱讀 655·2019-08-26 10:37