什么是 jQuery AJAX 事件?
Ajax 请求会产生许多您可以订阅的不同事件。让我们检查两种类型的事件。
有两种类型的事件
本地事件
这些是您可以在 Ajax 请求对象中订阅的回调函数。
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});全局事件
这些事件会广播到 DOM 中的所有元素,触发任何可能正在监听的处理程序。您可以像这样监听这些事件:
$("#loading").bind("ajaxSend", function(){
$(this).show();
}).bind("ajaxComplete", function(){
$(this).hide();
});可以通过传递全局选项来禁用特定 Ajax 请求的全局事件,如下所示:
$.ajax({
url: "test.html",
global: false,
// ...
});这是完整的 Ajax 事件列表。ajaxStart 和 ajaxStop 事件是与所有 Ajax 请求相关的事件。
- ajaxStart (全局事件) - 如果启动了 Ajax 请求并且当前没有其他 Ajax 请求正在运行,则会广播此事件。
- beforeSend (本地事件) - 此事件在启动 Ajax 请求之前触发,允许您修改 XMLHttpRequest 对象(如有需要,可以设置附加标头)。
- ajaxSend (全局事件) - 此全局事件也在请求运行之前触发。
- success (本地事件) - 只有在请求成功时(服务器没有错误,数据没有错误)才会调用此事件。
- ajaxSuccess (全局事件) - 只有在请求成功时才会调用此事件。
- error (本地事件) - 只有在请求发生错误时才会调用此事件(请求中永远不会同时出现错误和成功回调)。
- ajaxError (全局事件) - 此全局事件的行为与本地 error 事件相同。
- complete (本地事件) - 无论请求成功与否,都会调用此事件。即使对于同步请求,您也始终会收到 complete 回调。
- ajaxComplete (全局事件) - 此事件的行为与 complete 事件相同,并且每次 Ajax 请求完成时都会触发。
- ajaxStop (全局事件) - 如果没有更多 Ajax 请求正在处理,则会触发此全局事件。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP