如何正确取消永远不会完成的杰出Ajax请求?

时间:2011-06-04 13:42:43

标签: ajax request-cancelling

这个问题就像 another,除了在JQuery的上下文中询问一个,我不使用。

my page上的Ajax代码每十秒发​​出一次POST。偶尔 - 每600个请求 - 我的客户端代码挂起,等待永远不会显示的响应。

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

取消未完成的请求以便正确整理的正确方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:5)

存储对上一个AJAX请求的引用,并在您启动下一个请求时abort

例如:

var lastRequest;

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

    lastRequest = new XMLHTTPRequest(); // and the rest of your XHR code
}, 10000);