【发布时间】:2012-07-21 11:46:20
【问题描述】:
基本上我使用 jqXHR 和 asmx。如果可能的话,我想这样做;
在每个页面中,我使用同步或异步的 6-7 个 ajax 调用总体上取决于它是哪种方法。但是当其中一个出现错误时,我想在所有 ajax 调用之后中断该 ajax 调用。
已经谢谢了!
【问题讨论】:
基本上我使用 jqXHR 和 asmx。如果可能的话,我想这样做;
在每个页面中,我使用同步或异步的 6-7 个 ajax 调用总体上取决于它是哪种方法。但是当其中一个出现错误时,我想在所有 ajax 调用之后中断该 ajax 调用。
已经谢谢了!
【问题讨论】:
使用一个数组来存储每个 ajax 调用返回的对象,并遍历该数组以中止它们:
var XHR = []
........//later
var myajax = $.ajax({
type: 'GET',
url: url
}).done(function() {
//do something
}).fail(function() {
abortAll();
});
XHR.push(myajax);
function abortAll() {
XHR.each(function(i,e) {
e.abort();
});
}
【讨论】:
每次创建 ajax 请求时它都会返回一个对象,您可以使用它来中止请求:
var request = $.ajax({
type: 'POST',
url: url,
success: function(data){}
});
然后使用请求中止调用:
request.abort();
【讨论】:
var request=[] 然后.push() 向其中请求并使用for 循环或$.each 中止它们。