精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Ajax跨域訪問解決方案 ? Hi, I’m Adam Lu.

Ajax跨域訪問解決方案

ajax本身實際上是通過XMLHttpRequest對象來進行數據的交互,而瀏覽器出于安全考慮,不允許js代碼進行跨域操作,所以就誕生了很多跨域的解決方案。當本域和子域間進行訪問時最簡單的就是設置document.domain,當不同域的訪問,大概有下列方法:

1.web端代理的方式,即用戶訪問A網站時所產生的對B網站的跨域訪問請求均提交到A網站的指定頁面,由該頁面代替用戶頁面完成交互,從而返回合適的結果。

2.iframe,解決方案就是用window.location對象的hash屬性,利用JS改變hash值網頁不會刷新,可以這樣實現通過JS訪問hash值來做到通信,大體就是AB網站各嵌入一個對方網站的iframe,然后通過連續不斷的監聽hash值的變化來進行通信。比如A網站通過改變B網站iframe的hash后,B網站監聽到hash的變化后就進行處理,這種方式需要開發者可以控制兩個網站的代碼。

3.通過script標簽來請求,原理就是在本域內的A內生成一個JS標簽,它的SRC指向請求的另外一個域的某個頁面B,這個src里面通常會加一個A頁面定義好的回調函數,B返回數據即可,可以直接返回調用這個回調函數,這種跨域的通信方式被稱為JSONP,此方案存在的缺陷是, script的src屬性完成該調用時采取的方式時get方式,如果請求時傳遞的字符串過大時,可能會無法正常運行。

4.window.name,window.name是一種解決跨域數據傳輸的新技術,通過在iframe中加載一個跨域的HTML文件,并且在HTML文件中設置window.name的值為需要傳給接受者的數據,接收者就可以取得到window.name的值并且返回,比較關鍵的是同源策略的影響對location的控制不受限制,所以需要加載一個代理的頁面來讓發送頁面讀取window.name.

5.使用flash,原理是JavaScript將數據提交給本域下的 Flash,通過 Flash 中轉去訪問其他域的接口,只需要其他域的根目錄下有一個crossdomain.xml文件,文件中設置允許所有域名或允許本域訪問即可。

了解更多,請看:

http://www.phpchina.com/html/48/n-33848.html

http://www.sitepen.com/blog/2008/07/22/windowname-transport/

http://www.planabc.net/2008/09/01/window_name_transport/

http://hikejun.com/demo/windowname/demo_windowname.html

http://blog.s135.com/ajaxcdr/

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
前端跨域知識總結
ajax跨域、iframe跨域和JS跨域通信的幾種解決方案
js中幾種實用的跨域方法原理詳解
深入理解前端跨域方法和原理
無網不剩
SSL全站綠色方法:https頁面中引入http資源的解決方式
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 綦江县| 义乌市| 腾冲县| 云霄县| 卓尼县| 呼伦贝尔市| 井陉县| 宁都县| 无棣县| 郑州市| 秭归县| 昌图县| 葫芦岛市| 米林县| 岳西县| 卫辉市| 铜梁县| 托里县| 阿城市| 湘潭县| 渝中区| 涟水县| 扎赉特旗| 湖南省| 方城县| 怀集县| 淳化县| 永善县| 贺州市| 老河口市| 淳安县| 松溪县| 交城县| 林州市| 罗田县| 大关县| 台湾省| 青浦区| 巨野县| 宝鸡市| 从化市|