【问题标题】:Jquery On Click Function that Stops an Ajax Requests currently running [duplicate]Jquery On Click 停止当前运行的 Ajax 请求的功能[重复]
【发布时间】:2011-10-14 17:20:43
【问题描述】:
【问题讨论】:
标签:
javascript
jquery
ajax
【解决方案1】:
您需要在每个 ajax 调用上调用 abort() 方法!
var request = $.ajax({
type: 'POST',
url: 'someurl',
success: function(result){..........}
});
之后您可以中止请求:
request.abort();
【解决方案2】:
为每个 xhr 对象创建一个数组:
var xhrArray = new Array();
对于每个 xhr 对象,您需要将其添加到数组中(其中 xhr 是对象):
xhrArray.push(xhr);
然后中止:
for( i = 0; i < xhrArray.length; i++){
xhrArray[i].abort();
stop = true;
}
stop 变量用于我代码中其他地方的循环,以防止创建/发送更多 xhr 对象。