Javascript 如何将状态对象/数据传递给(异步)ajax回调?
我在循环范围内进行ajax调用,我需要成功回调来使用调用它的正确“I” 与此类似(伪JavaScript代码):Javascript 如何将状态对象/数据传递给(异步)ajax回调?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在循环范围内进行ajax调用,我需要成功回调来使用调用它的正确“I” 与此类似(伪JavaScript代码): for(i=1;i的标准解决方案是使用立即执行的函数表达式来创建闭包 for (i = 1 ; i <= 10 ; ++i) { (function (i) { $.ajax({ success : function(data) { // I want to use the correct i HERE
for(i=1;i的标准解决方案是使用立即执行的函数表达式来创建闭包
for (i = 1 ; i <= 10 ; ++i)
{
(function (i) {
$.ajax({
success : function(data) {
// I want to use the correct i HERE
}
});
})(i);
}
for(i=1;i只需在适当位置创建一个函数作用域:
for (i = 1 ; i <= 10 ; ++i) {
(function(i) {
$.ajax({
success : function(data) {
console.log( i );
// I want to use the correct i HERE
}
});
}(i));
}
用于(i=1;i您可以将ajax调用的async参数设置为false。@mikehomechko请不要!@A.Wolff在大多数情况下您不应该这样做,但它可以工作……我不知道下面的答案显示的方法……酷beans@MikeHometchko是的,但这是最糟糕的fix@A.Wolff它有它的用途,尽管非常罕见。我在这里得到了两个答案:)我喜欢这个解决方案
for (i = 1 ; i <= 10 ; ++i) {
(function(i) {
$.ajax({
success : function(data) {
console.log( i );
// I want to use the correct i HERE
}
});
}(i));
}