我有一些Javascript JQuery代码,它每隔5分钟对服务器进行一次Ajax调用,这是为了让服务器会话保持活动状态,并让用户保持登录状态。我在JQuery中使用$.ajax()
方法。这个函数似乎有一个'error‘属性,我试图在用户的互联网连接中断的情况下使用它,以便KeepAlive脚本继续运行。我使用了以下代码:
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);
}
});
}
当我运行它时,我会在屏幕上每隔10秒在一个警告框中弹出“成功”,这很好。然而,一旦我拔下网线,我什么也得不到,我期望错误函数被调用,并看到一个“失败”警告框,但什么也没有发生。
我假设'error‘函数只用于从服务器返回的非'200’状态码,这是正确的吗?在进行Ajax调用时,有没有办法检测网络连接问题?
https://stackoverflow.com/questions/1730692
复制相似问题