SORU
7 Mart 2011, PAZARTESİ


Zaman aşımı ayarlamak için ajax () jQuery

$.ajax({
    url: "test.html",
    error: function(){
        //do something
    },
    success: function(){
        //do something
    }
});

Bazen success işlevi iyi çalışıyor, bazen çalışmıyor.

Nasıl bu ajax isteği için zaman aşımı ayarlarım? Eğer çıkış süresi ise, 3 saniye sonra bir hata gösterir.

Sorun, ajax isteği bitene kadar blok donuyor. Eğer sunucu bir süre kapalı, ama hiç bitmeyecek.

CEVAP
7 Mart 2011, PAZARTESİ


Burada ve bir WordPress kullanmak eski ve yeni paradigmes içinde zaman aşımı ayarı algıladığını gösteren bazı örnekler.

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?
    }
});​

Live Demo

bir WordPress kullanmak <= 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
});

HabertextStatus(ya . param ^strong>jqXHR.statusText) hatanın ne olduğunu bildiririz. Bu başarısızlık bir zaman aşımı neden olduğunu bilmek istiyorsanız, bu yararlı olabilir.

hata(jqXHR, textStatus, errorThrown)

Eğer çağrılacak bir işlev istek başarısız olur. Bu fonksiyon üç argüman alır: jqXHR ( jQuery 1.4.x, XMLHttpRequest), bir dize türü tanımlayan nesne ve isteğe bağlı bir özel durum oluştu eğer bir hata oluştu ise nesne. İkinci bağımsız değişken için olası değerler (null dışında)"", zaman aşımı vardır "", ""ve "". parsererror durdurma hatası Bir HTTP hatası oluştuğunda, errorThrown olarak HTTP durum, bu tür metinsel kısmını alır "Olmaz" ya da "İç Sunucu Hatası." JQuery 1.5, hata olarak ayar fonksiyonları bir dizi kabul edebilir. Her işlev çağrılır sırayla. Not: Bu işleyici etki alanları arası komut dosyası için "değil," ve JSONP istekleri.

src: http://api.jquery.com/jQuery.ajax/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • ShoSho

    ShoSho

    20 Ocak 2010