您的位置:首页 > 其它

Ajax Events

2015-12-16 14:54 246 查看
原文地址:http://api.jquery.com/Ajax_Events/

        你可以处理 Ajax 请求产生的许多不同的事件。这里有一个 Ajax 事件的完整列表,并说明了事件的触发顺序。

        下面是两个类型的事件:

      Local Events(本地事件)

        你可以在 Ajax 请求对象中通过回调函数处理这些事件。比如这样:

$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
complete: function(){
// Handle the complete event
}
// ......
});


      Global Events(全局事件)

        这些事件通过 document 对象触发,可以使用任意的处理函数监听它们。你可以像下面这样做:

<pre name="code" class="javascript"> $(document).bind("ajaxSend", function(){
$("#loading").show();
}).bind("ajaxComplete", function(){
$("#loading").hide();
});




        全局事件可以通过在 Ajax 请求中传递特定的全局选项被禁止,像下面演示的这样:

$.ajax({
url: "test.html",
global: false,
// ...
});


      Events (事件)

        这是 Ajax 全部事件的详细列表,并按照它们的触发顺序排列。每一个 Ajax 请求(除非一个全局选项被禁止)都会触发下面的事件列表。ajaxStart 和 ajaxStop 事件是关联到所有 Ajax 请求一起的事件。

ajaxStart (Global Event)

无论在何时发送 Ajax 请求,jQuery 都会检查是否存在其他 Ajax 请求。如果不存在,则 jQuery 会触发该 ajaxStart 事件。

beforeSend (Local Event)
这个事件在一个 Ajax 请求开始之前被触发,它允许你去修改 XMLHttpRequest 对象(如果你需要可以设置额外的头信息)。

ajaxSend (Global Event)
这个全局事件也在 Ajax 请求开始之前被触发。

success (Local Event)
这个事件仅在 Ajax 请求是成功的情况下被触发(服务器没有返回错误,数据也没有错误)。

ajaxSuccess (Global Event)

这个事件也仅在 Ajax 请求是成功的情况下被触发。
error (Local Event)
这个事件仅在 Ajax 请求发生错误的情况下被触发(你永远不能在同一个 Ajax 请求中同时监听到 error 和 success 的事件)。

ajaxError (Global Event)
这个全局事件和本地的 error 事件有着相同的触发条件。

complete (Local Event)
不管 Ajax 请求是否是成功的,这个事件都被触发。你总是会监听到一个 complete 的事件发生,甚至是同步的请求。

ajaxComplete (Global Event)
这个全局事件和本地的 complete 事件有着相同的触发条件。每当一个 Ajax 请求完成时将被触发。

ajaxStop (Global Event)
无论 Ajax 请求在何时完成 ,jQuery 都会检查是否存在其他 Ajax 请求。如果不存在,则 jQuery 会触发该 ajaxStop 事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: