Jquery 如何检测循环中的最后一个ajax调用?
我在循环中有一个ajax调用,我想检测上次在循环中触发ajax调用的时间:Jquery 如何检测循环中的最后一个ajax调用?,jquery,ajax,loops,Jquery,Ajax,Loops,我在循环中有一个ajax调用,我想检测上次在循环中触发ajax调用的时间: for ( var i = 0; i < diff.length ; i++ ) { ...some more code... var isLastElement = e == diff.length -1; $.ajax({ method:'POST', data: { }, url:'somepath',
for ( var i = 0; i < diff.length ; i++ ) {
...some more code...
var isLastElement = e == diff.length -1;
$.ajax({
method:'POST',
data: {
},
url:'somepath',
success : function (data) {
if (isLastElement) {
alert('last item');
}
}
});
}
for(变量i=0;i
控制台中没有警报,但也没有错误。我假设这里有输入错误,
e
应该是I
var isLastElement = e == diff.length -1;
但是无论如何,不要使用循环索引。如果使用在循环外声明的变量,您将省去很多麻烦。。。并在ajax回调中增加该变量的值
var callCount = 0
for ( var i = 0; i < diff.length ; i++ ) {
$.ajax({
method:'POST',
data: {
},
url:'somepath',
success : function (data) {
if (callCount==diff.length-1) {
alert('last item');
}
callCount++
}
});
}
var callCount=0
对于(变量i=0;i
请注意,请求是异步的。。。而且也不能保证会按顺序收到回复。因此,“最后一个”将是花费最长时间的…我不确定我是否理解了这个问题。但您可能想使用。好吧,
islasteElement
将在ajax请求完成之前更改。除此之外,考虑使用回调来捕获Ajax错误。