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