您的位置:首页 > Web前端 > JQuery

jQuery ajax - ajaxSuccess() 方法以及其他的状态

2017-12-20 19:24 232 查看
当 AJAX 请求成功完成时,触发提示框:
$("div").ajaxSuccess(function(){
alert("AJAX 请求已成功完成");
});

ajaxSuccess() 方法在 AJAX 请求成功时执行函数。它是一个 Ajax 事件。


详细说明

XMLHttpRequest 对象和设置作为参数传递给回调函数。

无论 Ajax 请求在何时成功完成 ,jQuery 都会触发该 ajaxSuccess 事件。在此时,由 .ajaxSuccess() 方法注册的任何函数都会被执行。


语法

.ajaxSuccess(function(event,xhr,options))
参数描述
function(event,xhr,options)必需。规定当请求成功时运行的函数。
额外的参数:
event -
包含 event 对象
xhr -
包含 XMLHttpRequest 对象
options -
包含 AJAX 请求中使用的选项


示例

AJAX 请求成功后显示消息:
$("#msg").ajaxSuccess(function(evt, request, settings){
$(this).append("<p>请求成功!</p>");
});

最后可以加多一个data的参数,获取请求的结果。

var ajaxSuccess = function(){//全局监测ajax请求
     $(document).on('ajaxSuccess', function(e, xhr, options, data){
          if(data.retCode == '-1030024'){//如果获取到退出状态,那么当前页直接变成登录页
               window.location.href = window.location.host + '/user/login';
          }
     });
}
ajaxSuccess();

jQuery中各个事件执行顺序如下:

1.ajaxStart(全局事件)

2.beforeSend

3.ajaxSend(全局事件)

4.success

5.ajaxSuccess(全局事件)

6.error

7.ajaxError (全局事件)

8.complete

9.ajaxComplete(全局事件)

10.ajaxStop(全局事件)

先执行success,再执行error,最后始终执行complete

----------------------

区别的就是 --- 
success:当请求成功时调用函数,即status==200;
complete:当请求完成时调用函数,即status==404、403、302...只要不出错就行。
 

因为通常我们需要用来清理资源   所以就设计成compelete在success之后执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐