ajaxStart 事件


.on( "ajaxStart", handler )返回值: jQuery

描述: 注册一个当第一个 Ajax 请求开始时调用的处理程序。这是一个 Ajax 事件.

此页面描述了 ajaxStart 事件。对于已弃用的 .ajaxStart() 方法,请参阅 .ajaxStart().

每当要发送 Ajax 请求时,jQuery 都会检查是否有任何其他未完成的 Ajax 请求。如果没有正在进行的请求,jQuery 就会触发 ajaxStart 事件。此时,将执行使用 .on( "ajaxStart", ... ) 注册的所有处理程序。

要观察此方法的实际操作,请设置一个基本的 Ajax 加载请求

1
2
3
<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

将事件处理程序附加到任何元素

1
2
3
$( document ).on( "ajaxStart", function() {
$( ".log" ).text( "Triggered ajaxStart handler." );
} );

现在,使用任何 jQuery 方法发出 Ajax 请求

1
2
3
$( ".trigger" ).on( "click", function() {
$( ".result" ).load( "ajax/test.html" );
} );

当用户单击具有类 trigger 的元素并发送 Ajax 请求时,将显示日志消息。

其他说明

  • 从 jQuery 1.9 开始,所有 jQuery 全局 Ajax 事件 的处理程序(包括使用 .on( "ajaxStart", ... ) 添加的处理程序)必须附加到 document
  • 如果 $.ajax()$.ajaxSetup() 被调用,并且 global 选项设置为 false,则 ajaxStart 事件不会触发。

示例

每当 Ajax 请求开始时(并且没有其他请求正在进行)显示加载消息。

1
2
3
$( document ).on( "ajaxStart", function() {
$( "#loading" ).show();
} );