Javascript跨域請求的4種解決方式_javascript技巧
請求
跨域
什麼情況下才會出現跨域?
假設網域名稱是:http://www.example.com.cn/
如果所要求的網域跟這個網域不致,這種情況就是跨網域,由於跨網域有漏洞,所以一般來說正常的跨域請求方式是請求不到的。
解決方式:
一、window.name
1、 伺服器回傳
程式碼如下:
<script>window.name='{"id":"3", "name":"leisure"}';</ script> <BR>2、定義一個iframe,加上onload事件<iframe id="iframe1" onload="iLoad"><iframe> <BR><script type="text/javascript"> <BR>var load = false ; <BR>function iLoad() { <BR>if(load == false) { <BR>// 同域處理,請求後會再重新載入iframe <BR>document.getElementById('iframe1').contentWindow. location = '/'; <BR>load = true; <BR>} else { <BR>// 取得window.name的內容,注意必須進行同域處理後方可存取! <BR>var data = document.getElementById('iframe1').contentWindow.name; </script>alert(data); // {"id":"3", "name":"leisure"}
load = false;
}
複製程式碼
程式碼如下:
複製程式碼
程式碼如下:
function callback(data) {
alert(data); }
複製程式碼
程式碼如下:
$.getJSON(url "?callback=?", data, function(data) { }
注意callback=?這個參數必須帶上,jquery會自動產生一個函式名稱來取代這個問號!
假設網域名稱是:http://www.example.com.cn/
如果所要求的網域跟這個網域不致,這種情況就是跨網域,由於跨網域有漏洞,所以一般來說正常的跨域請求方式是請求不到的。
解決方式:
一、window.name
1、 伺服器回傳
程式碼如下:
<script>window.name='{"id":"3", "name":"leisure"}';</ script> <BR>2、定義一個iframe,加上onload事件<iframe id="iframe1" onload="iLoad"><iframe> <BR><script type="text/javascript"> <BR>var load = false ; <BR>function iLoad() { <BR>if(load == false) { <BR>// 同域處理,請求後會再重新載入iframe <BR>document.getElementById('iframe1').contentWindow. location = '/'; <BR>load = true; <BR>} else { <BR>// 取得window.name的內容,注意必須進行同域處理後方可存取! <BR>var data = document.getElementById('iframe1').contentWindow.name; </script>
load = false;
}
複製程式碼
程式碼如下:
複製程式碼
程式碼如下:
alert(data); }
複製程式碼
$.getJSON(url "?callback=?", data, function(data) { }
注意callback=?這個參數必須帶上,jquery會自動產生一個函式名稱來取代這個問號!
複製程式碼
程式碼如下:
程式碼如下:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)