SORU
26 Ocak 2011, ÇARŞAMBA


Görmezden Jquery Ajax hata işleme durduruldu

Ajax aramalar için küresel hata işleme yöntemi yapmak istiyorum, bu şimdi ben ne var:

$.ajaxSetup({
  error: function (XMLHttpRequest, textStatus, errorThrown) {
    displayError();
  }
});

aborted hatayı görmezden gelmek istiyorum. errorThrown boş ve textStatus error. Nasıl aborted kontrol edebilirim?

CEVAP
28 ŞUBAT 2013, PERŞEMBE


Aynı dava ile başa çıkmak için başka bir işim yoktu. 1 tarafından rahatsız edilebilir, uzun süren bu ajax çağrıları var üzerinde çalışıyorum uygulaması) kullanıcı uzak gezinmek veya 2) geçici bağlantı/sunucu hatası gibi bir şey. Hata işleyicisi tek bağlantı/sunucu hatası ve kullanıcı uzağa gitmek için koşmak istiyorum.

Ben ilk Alastair Pitts' cevabı, ancak her ikisi de iptal istekleri ve bağlantı hatası 0 durum kodu ve readyState ayarlayın çünkü işe yaramadı. Sonraki, sieppl cevabı çalıştım; ayrıca her iki durumda da, hiç bir cevap verilir, çünkü, bu nedenle böyle bir başlık işe yaramadı.

Benim için işe yarayan tek çözüm penceresi için bir dinleyici.sayfa kaldırılmış olduğunu belirtmek için global bir değişken ayarlar onbeforeunload,. Hata işleyicisi sonra kontrol edin ve sadece hata sayfası kaldırıldı eğer sadece işleyicisi arayabilirsiniz.

var globalVars = {unloaded:false};
$(window).bind('beforeunload', function(){
    globalVars.unloaded = true;
});
...
$.ajax({
    error: function(jqXHR,status,error){
        if (globalVars.unloaded)
            return;
    }
});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • ODN

    ODN

    26 Kasım 2006
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009