.ajaxComplete()

Description:RegisterahandlertobecalledwhenAjaxrequestscomplete.ThisisanAjaxEvent.

描述:注册一个当ajax请求完成后将被执行的回调函数。这是一个ajax事件。起始版本:1.0

.ajaxComplete(handler(event,XMLHttpRequest,ajaxOptions))

handler(event,XMLHttpRequest,ajaxOptions)回调函数。

WheneveranAjaxrequestcompletes,jQuerytriggerstheajaxCompleteevent.

当ajax请求完成的时候会触发ajaxComplete事件。

Anyandallhandlersthathavebeenregisteredwiththe.ajaxComplete()methodareexecutedatthistime.

所有注册在.ajaxComplete()中的处理器将在这个时候被执行。

Toobservethismethodinaction,wecansetupabasicAjaxloadrequest:

为了观察该方法的实际运行,我们可以建立一个基本的ajax加载请求:

<divclass="trigger">Trigger</div>

<divclass="result"></div>

<divclass="log"></div>

Wecanattachoureventhandlertoanyelement:

我们可以将事件处理器绑定到任何的元素。

$('.log').ajaxComplete(function(){

$(this).text('TriggeredajaxCompletehandler.');

});

Now,wecanmakeanAjaxrequestusinganyjQuerymethod:

现在我们可以使用任何一个jQueryAjax方法建立一个ajax请求:

$('.trigger').click(function(){

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

});

WhentheuserclickstheelementwithclasstriggerandtheAjaxrequestcompletes,thelogmessageisdisplayed.

当用户点击了拥有triggerclass的元素并且ajax请求完成后log信息将会被显示。

Note:Because.ajaxComplete()isimplementedasamethodofjQueryobjectinstances,wecanusethethiskeywordaswedoheretorefertotheselectedelementswithinthecallbackfunction.

注意:因为.ajaxComplete()是作为一个jQuery对象实例方法去执行的,所以我们可以在回调函数中使用this关键字表示当前被选择的元素。

AllajaxCompletehandlersareinvoked,regardlessofwhatAjaxrequestwascompleted.Ifwemustdifferentiatebetweentherequests,wecanusetheparameterspassedtothehandler.EachtimeanajaxCompletehandlerisexecuted,itispassedtheeventobject,theXMLHttpRequestobject,andthesettingsobjectthatwasusedinthecreationoftherequest.Forexample,wecanrestrictourcallbacktoonlyhandlingeventsdealingwithaparticularURL:

无论是哪种ajax请求完成时,所有的ajaxComplete处理器都将会被执行。如果非得区分请求,我们可以根据传递给处理器的参数加于区分。当处理器在执行时,event对象、XMLHttpRequest对象、创建该请求的设置对象,这3个对象都会被传递给处理器。例如,我们可以限制我们的回调函数只处理特定的URL。

Note:Youcangetthereturnedajaxcontentsbylookingatxhr.responseXMLorxhr.responseHTMLforxmlandhtmlrespectively.

注意:可以通过xhr.responseXML或者xhr.responseHTML获取返回的ajax内容中对应的xml和html。

$('.log').ajaxComplete(function(e,xhr,settings){

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

$(this).text('TriggeredajaxCompletehandler.Theresultis'+

xhr.responseHTML);

}

});

Example:

例子:

ShowamessagewhenanAjaxrequestcompletes.

当ajax请求完成后显示一段信息。

$("#msg").ajaxComplete(function(event,request,settings){

$(this).append("<li>RequestComplete.</li>");

});

相关推荐