引用
在瀏覽器請求中,出現跨域訪問資源的問題,我們肯定會遇到。如果跨域請求被阻止,有可能導致css、js 、ajax請求、font字型等資源出現無法正常訪問的問題。接下來,就介紹下解決同源策略不允許讀取遠端資源的問題。
解決此類問題,最直接的方法就是,就是給被請求的伺服器,新增http頭響應頭,這裡提供兩種新增http頭的方法:
第一種,就是在程式中新增http頭:
如: response.headers.add("access-control-allow-origin", "*");
// json
'access-control-allow-origin': '*',
// html
// php
header("access-control-allow-origin: *");
header("access-control-allow-headers: origin, x-requested-with, content-type, accept");
新增此段**的目的很簡單,也就是告訴瀏覽器,這個資源是執行遠端所有網域名稱訪問的。當然,此處的*也可以替換為指定的網域名稱,出於安全考慮,建議將*替換成指定的網域名稱。
第二種,就是在伺服器上,新增http響應頭。在這裡,我們就以iis6.0為例:
在被請求的**上,設定http頭,新增「
//在被請求的**上,設定http頭,新增
"access-control-allow-origin:*" //值為*或指定的網域名稱。
第三種,使用jsonp格式,即在jquery中ajax請求引數datatype:'jsonp':
$.ajax({
url:"",
type:'get',
datatype:'jsonp', // 處理ajax跨域問題
success: function(data){
一般完成以上工作,就可以了。網上還有說在被請求伺服器根目錄下建立:"crossdomain.xml"的檔案。內容格式如下:
分享到:
2020-07-31 09:37
瀏覽 67
瀏覽器跨域
前端部分,簡單的封裝乙個promise版的ajax let myajax function headers else xhr.open method,path for let key,value of object.entries headers xhr.send body myajax heade...
瀏覽器跨域
同源策略 同源策略是乙個重要的安全策略,它用於限制乙個origin的文件或者它載入的指令碼如何能與另乙個源的資源進行互動。它能幫助阻隔惡意文件,減少可能被攻擊的媒介。協議 網域名稱 埠號 http伺服器,預設的埠號為80 tcp 木馬executor開放此埠 https securely trans...
瀏覽器設定跨域
由於專案前端使用8001埠,後端使用的8080埠,因此前端呼叫後端介面時需要跨域,在瀏覽器中需要設定跨域,否則會由於跨域安全性導致請求失敗。比如chrome中,需要新建乙個chrome瀏覽器的快捷方式,右鍵選擇屬性 新增 disable web security user data dir c ch...