一.jQuery中Ajax请求的4种方式?
1.$.ajax() 只有一个参数,包含各种配置及回调的函数信息
$.ajax({
type: "post",
dataType: "html", //从服务器返回你期望的数据类型
url: '/Resources/GetList.ashx',
data: dataurl,
success: function (data) {
console.log(data)
if (data != "") {
//当数据不为空时所要做的事情
$("#pager").pager({ pagenumber: pagenumber, pagecount: data.split("$$")[1], buttonClickCallback: PageClick });
$("#anhtml").html(data.split("$$")[0]);
}
}
});
2.$.get() 通过远程http get请求载入信息 .通过接口地址请求,当请求成功时传入参数即可回调返回的数据
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert(data);
});
3.$.post() 通过远程http post请求载入信息.同上
$.post("/Resources/addfriend.ashx", {name: "John", time: "2pm" }, function (data) {
alert(data);
if (data == "ok") {
alert("添加成功!");
}
})
4.$.getJSON 通过 HTTP GET 请求载入 JSON 数据。
$.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;
});
});
二.多个回调和多个请求.
1.多个回调
$.ajax({
url:"text.txt"
}).done(function(data){
console.log(data)
}).fail(function(xhr,sta,err){
//三个参数:jqXHR对象,响应的状态码,错误原因
console.log(err)
})
2.多个回调
//多个请求回调一个函数(多个请求都成功才算成功,一个失败即请求失败)
var jqXHR1 = $.ajax({
url:"text1.txt",
dataType:"text"
});
var jqXHR2 = $.ajax({
url:"text2.txt",
dataType:"json"
});
//请求成功回调的函数
function success(data1,data2){
console.log('获取数据成功')
console.log(arguments)
console.log('数据:' + data1[0] + '状态:' + data1[1] + 'jqXHR:' + data1[2])
console.log('数据:' + data2[0] + '状态:' + data2[1] + 'jqXHR:' + data2[2])
}
//请求失败的回调函数
function fail(){
console.log('获取数据失败')
}
//$.when 自 jQuery1.5之后,可用的API,能够实现多个请求一个回调
$.when(jqXHR1,jqXHR2).done(success).fail(fail);
网友评论