一.jQuery中Ajax請(qǐng)求的4種方式?
1.$.ajax() 只有一個(gè)參數(shù),包含各種配置及回調(diào)的函數(shù)信息
$.ajax({
type: "post",
dataType: "html", //從服務(wù)器返回你期望的數(shù)據(jù)類型
url: '/Resources/GetList.ashx',
data: dataurl,
success: function (data) {
console.log(data)
if (data != "") {
//當(dāng)數(shù)據(jù)不為空時(shí)所要做的事情
$("#pager").pager({ pagenumber: pagenumber, pagecount: data.split("$$")[1], buttonClickCallback: PageClick });
$("#anhtml").html(data.split("$$")[0]);
}
}
});
2.$.get() 通過(guò)遠(yuǎn)程http get請(qǐng)求載入信息 .通過(guò)接口地址請(qǐng)求,當(dāng)請(qǐng)求成功時(shí)傳入?yún)?shù)即可回調(diào)返回的數(shù)據(jù)
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert(data);
});
3.$.post() 通過(guò)遠(yuǎn)程http post請(qǐng)求載入信息.同上
$.post("/Resources/addfriend.ashx", {name: "John", time: "2pm" }, function (data) {
alert(data);
if (data == "ok") {
alert("添加成功!");
}
})
4.$.getJSON 通過(guò) HTTP GET 請(qǐng)求載入 JSON 數(shù)據(jù)吮龄。
$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
function(data){
$.each(data.items, function(i,item){
$("<img/>").attr("src", item.media.m).appendTo("#images");
if ( i == 3 ) return false;
});
});
二.多個(gè)回調(diào)和多個(gè)請(qǐng)求.
1.多個(gè)回調(diào)
$.ajax({
url:"text.txt"
}).done(function(data){
console.log(data)
}).fail(function(xhr,sta,err){
//三個(gè)參數(shù):jqXHR對(duì)象,響應(yīng)的狀態(tài)碼,錯(cuò)誤原因
console.log(err)
})
2.多個(gè)回調(diào)
//多個(gè)請(qǐng)求回調(diào)一個(gè)函數(shù)(多個(gè)請(qǐng)求都成功才算成功,一個(gè)失敗即請(qǐng)求失敗)
var jqXHR1 = $.ajax({
url:"text1.txt",
dataType:"text"
});
var jqXHR2 = $.ajax({
url:"text2.txt",
dataType:"json"
});
//請(qǐng)求成功回調(diào)的函數(shù)
function success(data1,data2){
console.log('獲取數(shù)據(jù)成功')
console.log(arguments)
console.log('數(shù)據(jù):' + data1[0] + '狀態(tài):' + data1[1] + 'jqXHR:' + data1[2])
console.log('數(shù)據(jù):' + data2[0] + '狀態(tài):' + data2[1] + 'jqXHR:' + data2[2])
}
//請(qǐng)求失敗的回調(diào)函數(shù)
function fail(){
console.log('獲取數(shù)據(jù)失敗')
}
//$.when 自 jQuery1.5之后,可用的API,能夠?qū)崿F(xiàn)多個(gè)請(qǐng)求一個(gè)回調(diào)
$.when(jqXHR1,jqXHR2).done(success).fail(fail);