Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将状态对象/数据传递给(异步)ajax回调?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何将状态对象/数据传递给(异步)ajax回调?

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

我在循环范围内进行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
           }
       });
    })(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));
}