ajax 有事件完成后事件吗,ajaxComplete()

ajaxComplete()

当Ajax请求完成后注册一个回调函数。这是一个 AjaxEvent。.ajaxComplete(handler)handler类型: Function(Event event, jqXHR jqXHR, PlainObject ajaxOptions)被调用的函数。

每当一个Ajax请求完成,jQuery就会触发ajaxComplete事件,在这个时间点所有处理函数会使用.ajaxComplete()方法注册并执行。

观察活动中的这种方法,建立一个基本的Ajax加载请求:

Trigger

在document上绑定事件处理器:$(document).ajaxComplete(function() {

$( ".log" ).text( "Triggered ajaxComplete handler." );

});

现在,我们可以使用任何的jQuery方法构建一个Ajax请求:$( ".trigger" ).click(function() {

$( ".result" ).load( "ajax/test.html" );

});

当我们点击class为trigger的元素并且Ajax请求完成,这个信息就会显示。

注,这段在官网的原文中已经被删除:因为.ajaxComplete()是作为一个jQuery对象实例方法去执行的,回调函数中,我们可以用this关键字作为指定的元素。

无论哪一个Ajax请求被完成,所有ajaxComplete处理函数都将被执行。如果我们必须区分不同的请求,我们可以使参数传递给这个处理函数。他是通过事件对象,XMLHttpRequest对象和设置对象中使用的请求,做每一次ajaxComplete处理器执行的。举个例子,我们能限制我们的回调到只处理事件处理某一特定的URL:$( document ).ajaxComplete(function( event, xhr, settings ) {

if ( settings.url === "ajax/test.html" ) {

$( ".log" ).text( "Triggered ajaxComplete handler. The result is " +

xhr.responseText );

}

});

注意:您可以通过查看xhr.responseText获取返回的AJAX内容。

其他注意事项:在jQuery1.9中,jQuery全局AJAX事件的所有处理程序,包括哪些.ajaxComplete()添加的方法,必须附加到document上。

如果global选项设置为false,.ajaxComplete()将不会触发。

例子

当Ajax请求完成后显示一个信息。$(document).ajaxComplete(function(event, request, settings) {

$( "#msg" ).append( "

Request Complete." );

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值