前端呼叫資源跨域問題?

2022-09-03 19:12:12 字數 873 閱讀 4963

跨域設定、需要主跨網域名稱的**負載均衡上配置:cors是乙個w3c標準,全稱是"跨域資源共享"(cross-origin resource sharing)。它允許瀏覽器向跨源伺服器,發出xmlhttprequest請求,從而克服了ajax只能同源使用的限制。cors需要瀏覽器和伺服器同時支援。目前,所有瀏覽器都支援該功能,ie瀏覽器不能低於ie10。

整個cors通訊過程,都是瀏覽器自動完成,不需要使用者參與。對於開發者來說,cors通訊與同源的ajax通訊沒有差別,**完全一樣。瀏覽器一旦發現ajax請求跨源,就會自動新增一些附加的頭資訊,有時還會多出一次附加的請求,但使用者不會有感覺。因此,實現cors通訊的關鍵是伺服器。只要伺服器實現了cors介面,就可以跨源通訊。假如使用者訪問a,然後a裡面有個ajax請求從b拿資源,這時候需要在b上nginx配置允許a的cors請求。

解決方法如下:

允許那些網域名稱跨域

5    add_header '

access-control-allow-credentials''

true

';   #

允許cookie跨域

6    add_header '

access-control-allow-methods''

get';        #

允許跨域請求的方法  

7    將以上配置加入到nginx.conf的server標籤內,然後重啟nginx就可以了!

view code

希望本文能夠幫助到你 ^_^   

前端跨域請求資源

前幾天在開發專案期間 遇到跨域請求這類問題,由於一開始找不到問題所在之處,採坑不少.所遇問題如下圖 找了好久才發現,產生這種情況的原因 在請求頭部需要新增一些 beforesend function xhr 再新增這些之後又報了 access control allow origin在同乙個專案出現...

前端跨域問題

雖然羅列這麼多,但是我只用過一種 1 jsonp 2 document.domain iframe 3 location.hash iframe 4 window.name iframe 5 postmessage 6 跨域資源共享 cors 7 nginx 8 nodejs中介軟體 9 webso...

前端跨域問題

一 瀏覽器設定跨域 1,mac下chrome瀏覽器跨域 在終端中輸入以下命令 yourname是自己本機使用者名稱 開啟的chrome有 disable web security 相關的提示,說明瀏覽器設定跨域成功。2,window下chrome跨域 這個簡單了,直接右擊選擇chrome的屬性,在快...