返回值:jQueryajaxStart(handler())

注册一个事件处理函数,这个函数会在第一个 Ajax 请求都开始时调用。这是一个 Ajax 事件

当一个 Ajax 请求将要开始时, jQuery 会检测时候还有其他未完成的 Ajax 请求。如果没有正在进行中的请求, jQuery 就触发一个 ajaxStart 事件。任何先前通过 .ajaxStart() 方法注册的事件处理函数都会在此刻执行。

为了实际研究这个方法,我们构建一个简单的 Ajax load 请求:

<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

我们可以把我们的事件处理函数附加到任何元素上:

$('.log').ajaxStart(function() {
  $(this).text('Triggered ajaxStart handler.');
});

现在,我们可以用任意 jQuery 方法来发送一个 Ajax 请求,比如在 click 中发送一个请求:

$('.trigger').click(function() {
  $('.result').load('ajax/test.html');
});

当用户点击按钮,接着 Ajax 请求将要发送前,会显示日志信息。

注意: 由于 .ajaxStart() 是作为一个 jQuery 对象实例的方法来实现的,所以我们在回调函数中可以通过 this 关键字来指向原先所选中的元素。

示例:

当 Ajax 请求开始,且没有其他正在进行中的 Ajax 请求时,显示加载提示信息。

jQuery 代码:
$("#loading").ajaxStart(function(){
   $(this).show();
 });