Ajax Events

来源:互联网 发布:windows live id登录 编辑:程序博客网 时间:2024/06/05 08:46

原文地址: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 事件。
0 0
原创粉丝点击