Ajax Events

前端之家收集整理的这篇文章主要介绍了Ajax Events前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

原文地址: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 事件。
原文链接:https://www.f2er.com/ajax/162604.html

猜你在找的Ajax相关文章