Ajax每天都在用,但都是复制来的,从来没有看过Ajax的回调函数到底有哪些参数,今天看了一下,记录下来加强记忆,希望能对大家也有些用处。
ajax示例:
$.ajax({
type: "POST",
url: "/login",
data: {username:$("#username").val(), password:$("#password").val()},
dataType: "json",
beforeSend: function(xhr){
//1.发送请求之前执行,最先执行,添加loading一般在这里。
layer.load(1, {
shade: [0.1,'#fff'] //0.1透明度的白色背景
});
},
complete:function(xhr,status){
//2.请求完成之后执行,最后执行,关闭loading一般在这里
layer.closeAll('loading');
},
success: function(data,status,xhr){
//3.请求成功执行,中间执行,处理后台返回的数据
console.log(data);
},
error:function(xhr,status,error){
//4.请求成功执行,中间执行,给出请求失败的提示
console.log(status);
}
});
参数:都是可选参数,有些我们平时很少用都没有写进去。
xhr:XMLHttpRequest 对象,其中包含很多属性和方法,用的比较少,如果感兴趣可以去这里了解一下 AJAX XMLHttpRequest对象。
status:请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror")。
data:后台返回的数据。
error:错误信息。
顺序:他们执行的顺序是,首先执行beforeSend,然后执行success或error,最后执行complete。
注:beforeSend和complete无论成功失败都会执行,success或error是二选一执行。