我正在对我的服务器进行长时间轮询ajax请求
$.ajax({
url: "someurl.com",
success: function(resp) { ... },
error: function() { ... }
});
但如果短时间内存在一些互联网连接问题 Firefox 10中止请求,因此我的脚本不会收到服务器的响应 (在旧版本的FF中,没有这样的请求中止)。
我怎样才能发现浏览器中止了我的ajax请求?也许有一些事件呢?或者,如果网络连接断开,我可以强制浏览器不中止我的ajax请求吗?
答案 0 :(得分:2)
对于XMLHTTPRequest,它提供状态"0"
,表示request not initialized
。您可以捕获该状态并知道req
已被中止。
答案 1 :(得分:0)
也许您可以为通话添加超时?
$.ajax({
url: "test.html",
error: function(){
// will fire when timeout is reached
},
success: function(){
//do something
},
timeout: 3000 // sets timeout to 3 seconds
});