传递索引从for循环到ajax回调函数(javascript)

前端之家收集整理的这篇文章主要介绍了传递索引从for循环到ajax回调函数(javascript)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个for循环包含ajax调用,我试图确定最佳的方法将索引从for循环传递到回调函数。这里是我的代码
var arr = [2001,2002,2003,2004,2005,2006,2007,2008,2009,2010];

for (var i = 0; i < arr.length; i++)
{
  $.ajaxSetup({ cache:false })
  $.getJSON("NatGeo.jsp",{ ZipCode: arr[i],Radius:   
            document.getElementById("radius").value,sensor: false },function(data)
            { 
              DrawZip(data,arr[i]);
        }
  );
}

目前,由于异步ajax调用,只传递arr数组的最后一个值。我如何将每个arr数组的迭代传递给回调函数,除了同步运行ajax调用

非常感谢您提供任何和所有的帮助。

你可以使用javascript闭包:
for (var i = 0; i < arr.length; i++) {
  (function(i) {
    // do your stuff here
  })(i);
}

或者你可以只使用$ .each:

var arr = [2001,2010];

$.each(arr,function(index,value) {
  $.ajaxSetup({ cache:false });
  $.getJSON("NatGeo.jsp",{ ZipCode: value,Radius:   
    document.getElementById("radius").value,function(data) { 
      DrawZip(data,value);
    }
  );
});

猜你在找的Ajax相关文章