Jquery+Ajax實(shí)現(xiàn)跨域訪問
一、跨域的集中方法:
- 服務(wù)器端發(fā)送請(qǐng)求,服務(wù)器作為中繼代理(此方法不理解)
- iframe
- script標(biāo)簽
通過動(dòng)過動(dòng)態(tài)生成script標(biāo)簽,并將src指向目標(biāo)源的方式
原生實(shí)現(xiàn)方式示例:
var url="www.xxx.baidu.com/aa.js", scriptTag=document.createElement("script"); scriptTag.src=url; document.getElementByTagName("head")[0].appendChild(scriptTag); function showSth(data){ alert(data.a); } ////////////aa.js var aa={"a":"A"}; showSth(aa);
二、jsonp:
1、客戶端
使用script標(biāo)簽實(shí)現(xiàn)跨域訪問、可在url中指定回調(diào)函數(shù)、獲取json數(shù)據(jù)并在指定的回調(diào)函數(shù)中執(zhí)行
jQuery實(shí)現(xiàn)jsonp
//$.getJSON var url="wwwa.xxx.baidu.com/aa.js?callback=?"http://使用?作為回調(diào)函數(shù)名,jquey會(huì)自動(dòng)生成隨機(jī)名替換?號(hào)。 $.getJSON(url,function(jsoon){ alert(json.name+json.Email); }); //$.ajax; var url=www.xxx.baidu.com/aa.asmx?code=xx $.ajax({ url: url, dataType: jsonp, jsonp:”callback”,//傳遞給請(qǐng)求處理程序的參數(shù)名,用來獲取jsonp回調(diào)函數(shù)名(默認(rèn)為“callback”,自動(dòng)在URL中加上callback=?參數(shù)) jsonpCallback:”GetUser”,//自定義的jsonp回調(diào)函數(shù)名(默認(rèn)為jquery自動(dòng)生成的隨機(jī)函數(shù)名),此參數(shù)通常不用設(shè)置 success:function(json){ alert(json.name+json.Email); } });
jQuery 只支持get方式的jsonp實(shí)現(xiàn)。
jsonp的缺點(diǎn):如果返回的數(shù)據(jù)格式有問題或返回失敗了,并不會(huì)報(bào)錯(cuò)。
2、服務(wù)端
string jsoncallback = context.Request["callback"]; //如果不指定jsoncallback參數(shù)名,則返回隨機(jī)函數(shù)名。 string jsonp=jsoncallback+"("+ new JavaScriptSerializer(new {Name="a",Email="B"})+")" context.Response.ContentType = "text/plain"; context.Response.Write(jsonp);
到此這篇關(guān)于Jquery+Ajax實(shí)現(xiàn)跨域訪問的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery結(jié)合css實(shí)現(xiàn)返回頂部功能
在本篇文章里小編給大家整理了一篇關(guān)于jquery結(jié)合css實(shí)現(xiàn)返回頂部功能的相關(guān)文章,有興趣的朋友們可以實(shí)例測(cè)試下。2021-08-08JQuery通過AJAX從后臺(tái)獲取信息顯示在表格上并支持行選中
這篇文章主要介紹了JQuery通過AJAX從后臺(tái)獲取信息顯示在表格上并支持行選中的相關(guān)資料,需要的朋友可以參考下2015-09-09JQuery調(diào)用WebServices的方法和4個(gè)實(shí)例
你是不是經(jīng)常作這種開發(fā),前端用JS寫邏輯,后端用aspx或者ashx作服務(wù)?你是不是經(jīng)常在請(qǐng)求aspx的時(shí)候在查詢字符串中拼接諸如a.aspx?method=getDepartmetn¶m1=1¶m2=2的字符串?2014-05-05jquery插件splitScren實(shí)現(xiàn)頁面分屏切換模板特效
這篇文章主要介紹了jquery插件splitScren實(shí)現(xiàn)頁面分屏切換模板特效的相關(guān)資料,需要的朋友可以參考下2015-06-06jQuery autocomplate 自擴(kuò)展插件、自動(dòng)完成示例代碼
jquery-lib版本是 1.3.2的,該插件是簡(jiǎn)單的擴(kuò)展插件,代碼也比較簡(jiǎn)單的封裝。所以看起來也比較簡(jiǎn)單不是很費(fèi)力,當(dāng)然封裝得也不是很好。2011-03-03jQuery簡(jiǎn)單tab切換效果實(shí)現(xiàn)方法
這篇文章主要介紹了jQuery簡(jiǎn)單tab切換效果實(shí)現(xiàn)方法,涉及jQuery鏈?zhǔn)讲僮骷氨闅v的技巧,是非常具有實(shí)用價(jià)值的功能,需要的朋友可以參考下2015-04-04Jquery下EasyUI組件中的DataGrid結(jié)果集清空方法
要求選擇“地區(qū)”及“代維公司”后,刷新第一個(gè)DataGrid框體,下面為大家介紹下如何清空J(rèn)query下EasyUI組件中的DataGrid結(jié)果集2014-01-01JQuery觸發(fā)radio或checkbox的change事件
在JQuery中,當(dāng)給radio或checkbox添加一個(gè)change事件時(shí),如果它的值發(fā)生變化就會(huì)觸發(fā)change事件;本文將詳細(xì)介紹如何利用JQuery觸發(fā)Checkbox的change事件需要了解的朋友可以參考下2012-12-12autoPlay 基于jquery的圖片自動(dòng)播放效果
效果類似這種,自動(dòng)播放,實(shí)質(zhì)控制層的顯示隱藏。需要的朋友可以參考下。2011-12-12