下面小編就為大家?guī)硪黄狫Query 的跨域方法推薦_可跨任何網(wǎng)站。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。
因發(fā)現(xiàn)有不少博友發(fā)園內(nèi)短信問及JS的跨域問題,我想很多程序員的腦海里面還認(rèn)為JS是不能跨域的,其實(shí)這是一個(gè)錯(cuò)誤的觀點(diǎn);有很多人在網(wǎng)上找其解決方法,教其用IFRAME去解決的文章很多,真有那么復(fù)雜嗎?其實(shí)很簡單的,如果你用JQUERY,一個(gè)GETJSON方法就搞定了,而且是一行代碼搞定。
下面開始貼出方法。
//跨域(可跨所有域名)
$.getJSON("http://user.hnce.com.cn/getregion.aspx?id=0&jsoncallback=?",function(json){
//要求遠(yuǎn)程請求頁面的數(shù)據(jù)格式為: ?(json_data)
//例如:
//?([{"_name":"湖南省","_regionId":134},{"_name":"北京市","_regionId":143}])
alert(json[0]._name);
});
注意,getregion.aspx中,在輸出JSON數(shù)據(jù)時(shí),一定要用Request.QueryString["jsoncallback"],將獲取的內(nèi)容放到返回JSON數(shù)據(jù)的前面,假設(shè)實(shí)際獲取的值為42342348,那么返回的值就是 42342348([{"_name":"湖南省","_regionId":134},{"_name":"北京市","_regionId":143}])
因?yàn)間etJSON跨域的原理是把?隨機(jī)變一個(gè)方法名,然后返回執(zhí)行的,實(shí)現(xiàn)跨域響應(yīng)的目的。
具體getJSON的使用說明,請參考JQUERY手冊。
下面一個(gè)是跨域執(zhí)行的真實(shí)例子:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><script src="http://common.jb51.net/script/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//跨域(可跨所有域名)
$.getJSON("http://e.hnce.com.cn/tools/ajax.aspx?jsoncallback=?", { id: 0, action: 'jobcategoryjson' }, function(json) {
alert(json[0].pid);
alert(json[0].items[0]._name);
});
</script>
以上這篇JQuery 的跨域方法推薦_可跨任何網(wǎng)站就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考