Her 5 dakikada bir sunucuya Ajax çağrısı yapan bazı Javascript JQuery kodum var, bu sunucu oturumunu canlı tutmak ve kullanıcının oturum $.ajax()
açmasını sağlamak için. JQuery'de yöntemi kullanıyorum . Bu işlev, kullanıcının internet bağlantısının KeepAlive komut dosyasının çalışmaya devam etmesi için kesilmesi durumunda kullanmaya çalıştığım bir 'error' özelliğine sahip görünüyor. Aşağıdaki kodu kullanıyorum:
var keepAliveTimeout = 1000 * 10;
function keepSessionAlive()
{
$.ajax(
{
type: 'GET',
url: 'http://www.mywebapp.com/keepAlive',
success: function(data)
{
alert('Success');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert('Failure');
setTimeout(function()
{
keepSessionAlive();
}, keepAliveTimeout);
}
});
}
Çalıştırdığımda, her 10 saniyede bir uyarı kutusunda ekranda 'Başarılı' açılır penceresini alacağım, bu da sorun değil. Ancak, ağ kablosunu çıkarır çıkarmaz hiçbir şey alamıyorum, hata işlevinin çağrılmasını ve bir 'Arıza' uyarı kutusu görmesini bekliyordum, ancak hiçbir şey olmuyor.
"Hata" işlevinin yalnızca sunucudan döndürülen "200" olmayan durum kodları için olduğunu varsaymakta haklı mıyım? Ajax araması yaparken ağ bağlantısı sorunlarını tespit etmenin bir yolu var mı?