当 AJAX 请求成功完成时,触发提示框:
$("div").ajaxSuccess(function(){
alert("AJAX 请求已成功完成");
});
ajaxSuccess() 方法在 AJAX 请求成功时执行函数。它是一个 Ajax 事件。
详细说明
XMLHttpRequest 对象和设置作为参数传递给回调函数。
无论 Ajax 请求在何时成功完成 ,jQuery 都会触发该 ajaxSuccess 事件。在此时,由 .ajaxSuccess() 方法注册的任何函数都会被执行。
语法
.ajaxSuccess(
function(event,xhr,options)
)
参数 | 描述 |
function(event,xhr,options) |
必需。规定当请求成功时运行的函数。
额外的参数:
|
示例
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之后执行