JQuery Ajax 跨域訪問(wèn)的解決方案
一、本域和子域的相互訪問(wèn): http://www.aa.com/和book.aa.com
二、本域和其他域的相互訪問(wèn): http://www.aa.com/和http://www.bb.com/ 用 iframe
三、本域和其他域的相互訪問(wèn): http://www.aa.com/和http://www.bb.com/ 用 XMLHttpRequest訪問(wèn)代理
四、本域和其他域的相互訪問(wèn): http://www.aa.com/和http://www.bb.com/ 用 JS創(chuàng)建動(dòng)態(tài)腳本
今天主要討論第4中解決方案,這個(gè)和上個(gè)的區(qū)別就是請(qǐng)求是使用<script>標(biāo)簽來(lái)請(qǐng)求的,這個(gè)要求也是兩個(gè)域都是由你來(lái)開發(fā)才行。原理就是JS文件注入,在本域內(nèi)的a內(nèi)生成一個(gè)JS標(biāo)簽,它的SRC指向請(qǐng)求的另外一個(gè)域的某個(gè)頁(yè)面b,b返回?cái)?shù)據(jù)即可,可以直接返回JS的代碼。因?yàn)閟cript的src屬性是可以跨域的。
這里我們需要用到JQuery.getScript(url, callback)方法,url是腳本文件的URL路勁,callback函數(shù)在腳本資源已被加載和求值后調(diào)用的回調(diào)函數(shù)。
首先在bb.com創(chuàng)建一個(gè)js文件,test.js
var ojb = {msg:'js跨域請(qǐng)求成功'};
然后在aa.com的頁(yè)面上使用$.getScript加載test.js腳本
$(function() {
$.getScript('http://www.bb.com/test.js', function() {
if (ojb) {
alert(obj.msg);
}
});
});
使用$.getScript函數(shù)的最大好處就是可以保證,腳本加載完畢后調(diào)用回調(diào)函數(shù)。
個(gè)人感覺(jué)這種方法比使用代理和iframe要簡(jiǎn)單一些。
相關(guān)文章
jquery基于layui實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)下拉選擇(省份城市選擇)
本篇文章主要介紹了jquery基于layui實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)下拉選擇(省份城市選擇),具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06jQuery插件之Tocify動(dòng)態(tài)節(jié)點(diǎn)目錄菜單生成器附源碼下載
Tocify是一個(gè)能夠動(dòng)態(tài)生成文章節(jié)點(diǎn)目錄的jQuery插件,通過(guò)本文給大家分享jQuery插件之Tocify動(dòng)態(tài)節(jié)點(diǎn)目錄菜單生成器,對(duì)tocify菜單生成器相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01jQery使網(wǎng)頁(yè)在顯示器上居中顯示適用于任何分辨率
這篇文章主要介紹了jQery使網(wǎng)頁(yè)在任何分辨率的顯示器上居中顯示的方法,需要的朋友可以參考下2014-06-06jquery配合.NET實(shí)現(xiàn)點(diǎn)擊指定綁定數(shù)據(jù)并且能夠一鍵下載
本篇文章主要介紹了jquery配合.NET實(shí)現(xiàn)點(diǎn)擊指定綁定數(shù)據(jù)并且能夠一鍵下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10jQuery模擬完美實(shí)現(xiàn)經(jīng)典FLASH導(dǎo)航動(dòng)畫效果【附demo源碼下載】
這篇文章主要介紹了jQuery模擬完美實(shí)現(xiàn)經(jīng)典FLASH導(dǎo)航動(dòng)畫效果,通過(guò)jQuery響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式實(shí)現(xiàn)flash切換的效果,非常經(jīng)典實(shí)用,文末還提供了demo源碼供讀者下載學(xué)習(xí)或使用,需要的朋友可以參考下2016-11-11讓網(wǎng)頁(yè)跳轉(zhuǎn)到指定位置的jquery代碼非書簽
網(wǎng)頁(yè)跳轉(zhuǎn)到指定位置,實(shí)現(xiàn)的方法有很多,本文采用最為簡(jiǎn)單的一種,喜歡朋友可以學(xué)習(xí)下2013-09-09ASP.NET jQuery 實(shí)例7 通過(guò)jQuery來(lái)獲取DropDownList的Text/Value屬性值
這節(jié)我們將通過(guò)jQuery來(lái)獲取DropDownList的Text/Value屬性值,需要的朋友可以參考下2012-02-02