我需要计算对列表中的每个项目成功执行 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);
}
});
有什么建议么?
你可以尝试新的when()
and then()
jQuery 1.5+ 中提供的功能,
$.when($.ajax("/page1.php"), $.ajax("/page2.php")).then(myFunc, myFailure);
这里,当两个 ajax 请求都成功时,执行函数 myFunc;如果其中一个请求出错,则执行 myFailure 函数。
因此,通过上面的函数,您可以检查所有ajax请求是否已成功完成,如果myFunc
函数运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)