2010-01-30 19 views
5

XMLHttpRequest hatası aldığında 0, bağlantı yok ve çoğu zaman yeniden denemek istediğiniz zamanlar demektir.XMLHttpRequest hatası 0 düzgün yönetim (isteği yeniden deneyin)

Kullanıcının bağlantıyı kaybettiğini bildiren XMLHttpRequest'i şeffaf bir şekilde yeniden denemenin basit bir yolu var mı (tıpkı gmail'in yaptığı gibi)? (JQuery kullanıyorum)

burada ne sonra için

+0

Bağlantı kodunuzu kendi işlevine sokmanın ve DOM'un bir kısmını değiştirdikten sonra kullanıcının bağlantıyı kapattığını bildirmesi için aramayı çağırmanın dışında mı? (Bu bir cevap olarak koydum ama bir şey özlüyorum gibi hissediyorum) –

+0

olası bir kopyası [Başarısız bir ajax isteğini nasıl gönderebilirim?] (Http://stackoverflow.com/questions/8881614/how-do -i-yeniden gönderme-a-başarısız-ajax-istek) – user2284570

cevap

11

Görünüş: Defensive AJAX and AJAX retries in jQuery.

Temelde hata işleyicisi içinde, çoğu jQuery gibi ... $.ajax(this);

$.ajax({ 
    url : 'timeOutPage.html', 
    type : 'get', 
    timeout : 20000, 
    error : function(xhr, textStatus, errorThrown) { 
    if (textStatus == 'timeout') { 
     $.ajax(this); 
     return; 
    } 
    } 
}); 

bağlantılı makale vb bir yeniden deneme sınırı, ile daha derinlemesine örnek vardır yapabilir, neredeyse kopyalayabilirsiniz/Gitmek için örneklerini yapıştır.

İlgili konular