JQuery的Ajax跨域請(qǐng)求原理概述及實(shí)例
JQuery對(duì)于Ajax的跨域請(qǐng)求有兩類(lèi)解決方案,不過(guò)都是只支持get方式。分別是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式。
什么是jsonp格式呢?API原文:如果獲取的數(shù)據(jù)文件存放在遠(yuǎn)程服務(wù)器上(域名不同,也就是跨域獲取數(shù)據(jù)),則需要使用jsonp類(lèi)型。使用這種類(lèi)型的話,會(huì)創(chuàng)建一個(gè)查詢(xún)字符串參數(shù) callback=? ,這個(gè)參數(shù)會(huì)加在請(qǐng)求的URL后面。服務(wù)器端應(yīng)當(dāng)在JSON數(shù)據(jù)前加上回調(diào)函數(shù)名,以便完成一個(gè)有效的JSONP請(qǐng)求。意思就是遠(yuǎn)程服務(wù)端需要對(duì)返回的數(shù)據(jù)做下處理,根據(jù)客戶端提交的callback的參數(shù),返回一個(gè)callback(json)的數(shù)據(jù),而客戶端將會(huì)用script的方式處理返回?cái)?shù)據(jù),來(lái)對(duì)json數(shù)據(jù)做處理。JQuery.getJSON也同樣支持jsonp的數(shù)據(jù)方式調(diào)用。
客戶端JQuery.ajax的調(diào)用代碼示例:
$.ajax({
type : "get",
async:false,
url : "http://www.xxx.com/ajax.do",
dataType : "jsonp",
jsonp: "callbackparam",//服務(wù)端用于接收callback調(diào)用的function名的參數(shù)
jsonpCallback:"success_jsonpCallback",//callback的function名稱(chēng)
success : function(json){
alert(json);
alert(json[0].name);
},
error:function(){
alert('fail');
}
});
服務(wù)端返回?cái)?shù)據(jù)的示例代碼:
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
String callbackFunName = context.Request["callbackparam"];
context.Response.Write(callbackFunName + "([ { name:\"John\"}])");
}
- jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)實(shí)例
- 跨域請(qǐng)求之jQuery的ajax jsonp的使用解惑
- jQuery.ajax 跨域請(qǐng)求webapi設(shè)置headers的解決方案
- Jquery Ajax請(qǐng)求文件下載操作失敗的原因分析及解決辦法
- 淺析jQuery Ajax請(qǐng)求參數(shù)和返回?cái)?shù)據(jù)的處理
- 教你如何終止JQUERY的$.AJAX請(qǐng)求
- jquery+ajax實(shí)現(xiàn)跨域請(qǐng)求的方法
- jQuery Ajax請(qǐng)求后臺(tái)數(shù)據(jù)并在前臺(tái)接收
- js與jQuery終止正在發(fā)送的ajax請(qǐng)求的方法
- jquery ajax 請(qǐng)求小技巧實(shí)例分析
相關(guān)文章
jquery next nextAll nextUntil siblings的區(qū)別介紹
在本文為大家詳細(xì)介紹下jquery next nextAll nextUntil siblings的區(qū)別,感興趣的朋友可以參考下2013-10-10使用jquery實(shí)現(xiàn)的循環(huán)連續(xù)可停頓滾動(dòng)實(shí)例
下面小編就為大家?guī)?lái)一篇使用jquery實(shí)現(xiàn)的循環(huán)連續(xù)可停頓滾動(dòng)實(shí)例。2016-11-11jQuery+PHP+MySQL二級(jí)聯(lián)動(dòng)下拉菜單實(shí)例講解
這篇文章主要介紹了一款jQuery+PHP+MySQL三者結(jié)合實(shí)現(xiàn)的二級(jí)聯(lián)動(dòng)下拉菜單,需要的朋友可以參考下2015-10-10Jquery實(shí)現(xiàn)仿京東商城省市聯(lián)動(dòng)菜單
這篇文章主要介紹了Jquery實(shí)現(xiàn)仿京東商城省市聯(lián)動(dòng)菜單的簡(jiǎn)單實(shí)例演示,可以選擇對(duì)應(yīng)省、市、縣,希望大家可以喜歡。2015-11-11jquery仿百度百科底部浮動(dòng)導(dǎo)航特效
這篇文章主要介紹了jquery仿百度百科底部浮動(dòng)導(dǎo)航特效,需要的朋友可以參考下2015-08-08jquery實(shí)現(xiàn)的Accordion折疊面板效果代碼
這篇文章主要介紹了jquery實(shí)現(xiàn)的Accordion折疊面板效果代碼,通過(guò)jquery鼠標(biāo)click事件操作頁(yè)面元素樣式動(dòng)態(tài)變換實(shí)現(xiàn)手風(fēng)琴折疊效果,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09jquery層級(jí)選擇器(匹配父元素下的子元素實(shí)現(xiàn)代碼)
下面小編就為大家?guī)?lái)一篇jquery層級(jí)選擇器(匹配父元素下的子元素實(shí)現(xiàn)代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09jQuery創(chuàng)建自定義的選擇器用以選擇高度大于100的超鏈接實(shí)例
這篇文章主要介紹了jQuery創(chuàng)建自定義的選擇器用以選擇高度大于100的超鏈接,實(shí)例分析了jQuery自定義選擇器的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03