js跨域的幾種解決方案

2021-07-24 10:00:38 字數 371 閱讀 9950

這裡說的js跨域是指通過js在不同的域之間進行資料傳輸或通訊,比如用ajax向乙個不同的域請求資料,或者通過js獲取頁面中不同域的框架中(iframe)的資料。只要協議、網域名稱、埠有任何乙個不同,都被當作是不同的域。

下表給出了相對同源檢測的結果:

qq截圖20130613230631

要解決跨域的問題,我們可以使用以下幾種方法:

一、通過jsonp跨域

在js中,我們直接用xmlhttprequest請求不同域上的資料時,是不可以的。但是,在頁面上引入不同域上的js指令碼檔案卻是可以的,jsonp正是利用這個特性來實現的。

比如,有個a.html頁面,它裡面的**需要利用ajax獲取乙個不同域上的json資料,假設這個json資料位址是

跨域的幾種解決方案

這個可能是好多人想到的第一解決方案了但是其實這個也有侷限性 具體實現 伺服器端 echo handler json encode array a b 簡單輸出handler 客戶端 一 動態載入script標籤方式 function setscript setscript 動態載入script 處理...

關於JS的跨域通訊的幾種解決方案

1.什麼引起了ajax不能跨域請求的問題?ajax本身實際上是通過xmlhttprequest物件來進行資料的互動,而瀏覽器出於安全考慮,不允許js 進行跨域操作,所以會警告。2.有什麼完美的解決方案麼?沒有。解決方案有不少,但是只能是根據自己的實際情況來選擇。具體情況有 一 本域和子域的相互訪問 ...

關於JS的跨域通訊的幾種解決方案

1.什麼引起了ajax不能跨域請求的問題?ajax本身實際上是通過xmlhttprequest物件來進行資料的互動,而瀏覽器出於安全考慮,不允許js 進行跨域操作,所以會警告。2.有什麼完美的解決方案麼?沒有。解決方案有不少,但是只能是根據自己的實際情況來選擇。具體情況有 一 本域和子域的相互訪問 ...