.ajaxComplete()
.ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) ) 返回: jQuery
描述: 當Ajax請求完成后注冊一個回調函數(shù)。這是一個 Ajax 事件.
-
version added: 1.0.ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) )
handler(event, XMLHttpRequest, ajaxOptions)回調函數(shù).
每當一個Ajax請求完成,jQuery就會觸發(fā)ajaxComplete事件,在這個時間點所有處理器會使用.ajaxComplete()方法注冊并執(zhí)行。
我們可以建立一個基本的Ajax請求,觀察該方法的執(zhí)行過程:
<div class="trigger">Trigger</div> <div class="result"></div> <div class="log"></div>
我們可以在一些節(jié)點上添加的事件處理函數(shù):
$('.log').ajaxComplete(function() {
$(this).text('Triggered ajaxComplete handler.');
});
現(xiàn)在我們可以構建一個Ajax請求使用任何的jQuery方法:
$('.trigger').click(function() {
$('.result').load('ajax/test.html');
});
當我們點擊這個按鈕并且Ajax請求完成,這個信息就會顯示。
注意: 因為.ajaxComplete() 是作為一個jQuery對象實例方法去執(zhí)行的,我們可以用this關鍵字作為回調函數(shù)中指定的元素。
無論哪一個Ajax請求被完成,所有ajaxComplete處理器都將被執(zhí)行。如果我們必須區(qū)分的請求,我們可以使參數(shù)傳遞給這個處理器。 他是通過事件對象、 XMLHttpRequest 對象和設置對象中使用的請求,做每一次ajaxComplete 處理器執(zhí)行的。 舉個例子,我們能限制我們的回調到只處理事件處理某一特定的URL:
$('.log').ajaxComplete(function(e, xhr, settings) {
if (settings.url == 'ajax/test.html') {
$(this).text('Triggered ajaxComplete handler.');
}
});
舉例:
當Ajax請求完成后顯示一個信息。
$("#msg").ajaxComplete(function(event,request, settings){
$(this).append("<li>Request Complete.</li>");
});