8

这个问题就像另一个问题,只是在 JQuery 的上下文中提出了一个问题,我不使用它。

我页面上的 Ajax 代码每十秒发​​布一次 POST。偶尔——每约 600 个请求——我的客户端代码挂起等待永远不会出现的响应。

代码将超时并重新发出 Ajax 请求,但首先我想清理关于未完成请求的所有内容:我不想留下任何残留状态以便以后搞砸。

取消未完成的请求以使事情得到妥善整理的正确方法是什么?

谢谢!

4

1 回答 1

5

存储对上一个 AJAX 请求的引用,并在启动下一个请求时中止它。

例如:

var lastRequest;

setInterval(function() {
    lastRequest.abort(); // abort the last request

    lastRequest = new XMLHTTPRequest(); // and the rest of your XHR code
}, 10000);
于 2011-06-04T13:50:33.903 回答