Saya memiliki beberapa kode JQuery Javascript yang melakukan panggilan Ajax ke server setiap 5 menit, itu untuk menjaga sesi server tetap hidup dan membuat pengguna tetap masuk. Saya menggunakan $.ajax()metode di JQuery. Fungsi ini tampaknya memiliki properti 'error' yang saya coba gunakan jika koneksi internet pengguna terputus sehingga skrip KeepAlive terus berjalan. Saya menggunakan kode berikut:
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);
}
});
}
Ketika saya menjalankannya, saya akan mendapatkan popup 'Sukses' di layar dalam kotak peringatan setiap 10 detik yang tidak masalah. Namun, segera setelah saya mencabut kabel jaringan, saya tidak mendapatkan apa-apa, saya mengharapkan fungsi kesalahan dipanggil dan melihat kotak peringatan 'Kegagalan', tetapi tidak ada yang terjadi.
Apakah saya benar dalam mengasumsikan bahwa fungsi 'kesalahan' hanya untuk kode status non '200' yang dikembalikan dari server? Apakah ada cara untuk mendeteksi masalah koneksi jaringan saat melakukan panggilan Ajax?