【发布时间】:2011-06-16 07:07:01
【问题描述】:
我需要计算一个 jQuery ajax 调用在列表中的每个项目上成功执行了多少次。
我从这里开始,但后来意识到这不起作用,因为 ajax 的“异步”部分:
var numSuccessfullUpdates = 0;
$('#saveMyListItems').click(function (event) {
event.preventDefault();
$('ul#myList li').each(function () {
$.ajax({
url: '[my_url]',
type: "POST",
data: {
// [data block here, not relevant to question]
},
success: function () {
numSuccessfullUpdates++;
}
});
});
if (successfullUpdates > 0){
alert(numSuccessfullUpdates);
}
});
有什么建议吗?
【问题讨论】:
-
您要等到它们全部完成吗?直到超时期限到期?
-
@Coding Freak:我测试过,然后实现了。
-
@faust:那么你得到了什么结论和结果?值总是 0 吗?
-
@justis:好问题。我会计算 li 的 -- n = $(this).find('li').length -- 一旦达到 n 成功就确认,或者如果达到超时并且 numSuccessfullUpdates 则发送成功计数
-
@Coding Freak:是的,计数始终为 0。
标签: jquery