ajax 执行顺序

953 阅读1分钟

jQuery $.Ajax 的beforeSend、complete、success、error的执行顺序和参数

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是二选一执行。

版权声明:本文为CSDN博主「z.monster」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/s_monster_/…