我有一些 Javascript JQuery 代码,它每5分钟对服务器进行一次 Ajax 调用,以保持服务器会话处于活动状态,并保持用户登录。我在 JQuery 中使用 $.ajax()
方法。这个函数似乎有一个“ error”属性,我试图在用户的 Internet 连接断开时使用它,以便 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 调用时,是否有检测网络连接问题的方法?