jQuery ajax事件

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();
});

全局事件可以通过传入global选项来禁用特定的Ajax请求,如下所示−

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

事件

这是完整的Ajax事件列表。ajaxStart和ajaxStop事件是与所有Ajax请求相关的事件。

  • ajaxStart(全局事件) 如果启动了一个Ajax请求,并且没有其他正在运行的Ajax请求,就会广播此事件。

  • beforeSend(本地事件) 这个事件在启动Ajax请求之前触发,允许您修改XMLHttpRequest对象(如果需要,设置额外的头部信息)。

  • ajaxSend(全局事件) 此全局事件也会在请求运行之前触发。

  • success(本地事件) 只有在请求成功时(没有服务器错误,数据没有错误)才会调用此事件。

  • ajaxSuccess(全局事件) 只有在请求成功时才会调用此事件。

  • error(本地事件) 只有在请求出现错误时才会调用此事件(您不能同时有错误和成功的回调)。

  • ajaxError(全局事件) 此全局事件的行为与本地的错误事件相同。

  • complete(本地事件) 无论请求成功与否,都会调用此事件。即使是同步请求,您也始终会收到complete回调。

  • ajaxComplete(全局事件) 此事件与complete事件的行为相同,每次Ajax请求完成时都会触发。

  • ajaxStop(全局事件) 如果没有正在处理的Ajax请求,就会触发此全局事件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程