描述: 當Ajax請求完成後註冊一個回調函數。這是一個 AjaxEvent。javascript
每當一個Ajax請求完成,jQuery就會觸發ajaxComplete
事件,在這個時間點全部處理函數會使用.ajaxComplete()
方法註冊並執行。html
觀察活動中的這種方法,創建一個基本的Ajax加載請求:java
1
2
3
|
<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>
|
在document上綁定事件處理器:jquery
1
2
3
|
$(document).ajaxComplete(function() {
$( ".log" ).text( "Triggered ajaxComplete handler." );
});
|
如今,咱們可使用任何的jQuery方法構建一個Ajax請求:ajax
1
2
3
|
$( ".trigger" ).click(function() {
$( ".result" ).load( "ajax/test.html" );
});
|
當咱們點擊class爲 trigger
的元素而且Ajax請求完成,這個信息就會顯示。api
可是從 jQuery 1.8 開始, .ajaxComplete()
方法只能綁定到 document
元素.app
注,這段在官網的原文中已經被刪除: 由於.ajaxComplete()
是做爲一個jQuery對象實例方法去執行的,回調函數中,咱們能夠用this
關鍵字做爲指定的元素。函數
不管哪個Ajax請求被完成,全部ajaxComplete
處理函數都將被執行。若是咱們必須區分不一樣的請求,咱們可使參數傳遞給這個處理函數。 他是經過事件對象, XMLHttpRequest
對象和設置對象中使用的請求,作每一次ajaxComplete
處理器執行的。舉個例子,咱們能限制咱們的回調到只處理事件處理某一特定的URL:this
1
2
3
4
5
6
|
$(document).ajaxComplete(function(event, xhr, settings) {
if ( settings.url === "ajax/test.html" ) {
$( ".log" ).text( "Triggered ajaxComplete handler. The result is " +
xhr.responseHTML );
}
});
|
注意: 你能夠獲得返回的AJAX內容 察看XML和HTML的xhr.responseXML
或 xhr.responseHTML
之間的分別。url
global
選項設置爲false
,調用$.ajax()
或 $.ajaxSetup()
,.ajaxComplete()
方法將不會被觸發。
1
2
3
|
$(document).ajaxComplete(function(event,request, settings) {
$( "#msg" ).append( "<li>Request Complete.</li>" );
});
|