I have some Javascript JQuery code that does an Ajax call to the server every 5 mins, it s to keep the server session alive and keep the user logged in. I m using $.ajax()
method in JQuery. This function seems to have an error property that I m trying to use in the event that the user s internet connection goes down so that the KeepAlive script continues to run. I m using the following code:
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);
}
});
}
When I run it, I ll get Success popup on the screen in an alert box every 10 seconds which is fine. However, as soon as I unplug the network cable, I get nothing, I was expecting the error function to get called and see a Failure alert box, but nothing happens.
Am I correct in assuming that the error function is only for non 200 status codes returned from the server? Is there a way to detect network connection problems when making an Ajax call?