奇怪的跨域訪問:No 'Access-Control-Allow-Origin' header


代碼是幾個月前寫的,之前的幾個月一直運行正常。

可今天使用的時候運行失敗了,提示:No 'Access-Control-Allow-Origin' header

使用 chrome、firefox 都測試了,問題一樣,只能在 ie 8 上正常運行了。

在服務端,我明明添加 Access-Control-Allow-Origin: *,可就是無法跨域訪問。

找了半天原因,首先在chrome中發現提交的請求中沒有 cookie 部分, 我記得之前chrome瀏覽器默認都有提交 cookie的。

先修改客戶端代碼,添加:http_request.withCredentials = true; //支持跨域發送cookies

然后測試,瀏覽器提示 but the 'Access-Control-Allow-Credentials' header is ''. It must be 'true' to allow credentials.

再修改服務端,添加:Access-Control-Allow-Credentials: true

再測試,瀏覽器提示什么 不能使用 Access-Control-Allow-Origin: *, 必須使用 Access-Control-Allow-Origin: [http://域名]

好吧,再修改服務端代碼,Access-Control-Allow-Origin: [http://域名]

再測試,問題終於解決了。

 

我就奇怪,之前一直運行都挺正常的,我的chrome也沒升級過,怎么就突然出現這樣問題了呢,請來告訴我呢?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM