Aşağıda, jQuery'nin eski ve yeni paradigmalarındaki zaman aşımlarını ayarlamayı ve algılamayı gösteren bazı örnekler verilmiştir.
Live Demo
JQuery 1.8+ ile söz verin
Promise.resolve(
$.ajax({
url: '/getData',
timeout:3000 //3 second timeout
})
).then(function(){
//do something
}).catch(function(e) {
if(e.statusText == 'timeout')
{
alert('Native Promise: Failed from timeout');
//do something. Try again perhaps?
}
});
jQuery 1.8+
$.ajax({
url: '/getData',
timeout:3000 //3 second timeout
}).done(function(){
//do something
}).fail(function(jqXHR, textStatus){
if(textStatus === 'timeout')
{
alert('Failed from timeout');
//do something. Try again perhaps?
}
});
jQuery <= 1.7.2
$.ajax({
url: '/getData',
error: function(jqXHR, textStatus){
if(textStatus === 'timeout')
{
alert('Failed from timeout');
//do something. Try again perhaps?
}
},
success: function(){
//do something
},
timeout:3000 //3 second timeout
});
O Bildirimi textStatus param (veya jqXHR.statusText ) Hata neydi bildireceğiz. Hatanın bir zaman aşımından kaynaklandığını bilmek istiyorsanız bu yararlı olabilir.
hatası (jqXHR, textStatus, errorThrown)
İstek başarısız olursa çağrılacak bir işlev. İşlev üç bağımsız değişken alır: jqXHR (jQuery 1.4.x, XMLHttpRequest) nesnesi, oluşan hata türünü açıklayan bir dize ve varsa isteğe bağlı bir istisna nesnesi. İkinci bağımsız değişken için olası değerler (null dışında) "timeout", "error", "abort" ve "parsererror" dur. Bir HTTP hatası oluştuğunda errorThrown, HTTP durumunun "Bulunamadı" veya "Dahili Sunucu Hatası" gibi metinsel kısmını alır. JQuery 1.5 itibariyle, hata ayarı bir dizi işlevi kabul edebilir. Her fonksiyon sırayla çağrılır. Not: Bu işleyici, etki alanları arası komut dosyası ve JSONP istekleri için çağrılmaz.
src: http://api.jquery.com/jQuery.ajax/
,
orada bir ihtiyacın var}
.