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

前端之家收集整理的这篇文章主要介绍了传递索引从for循环到ajax回调函数(javascript)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个for循环包含ajax调用,我试图确定最佳的方法将索引从for循环传递到回调函数。这里是我的代码
  1. var arr = [2001,2002,2003,2004,2005,2006,2007,2008,2009,2010];
  2.  
  3. for (var i = 0; i < arr.length; i++)
  4. {
  5. $.ajaxSetup({ cache:false })
  6. $.getJSON("NatGeo.jsp",{ ZipCode: arr[i],Radius:
  7. document.getElementById("radius").value,sensor: false },function(data)
  8. {
  9. DrawZip(data,arr[i]);
  10. }
  11. );
  12. }

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

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

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

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

  1. var arr = [2001,2010];
  2.  
  3. $.each(arr,function(index,value) {
  4. $.ajaxSetup({ cache:false });
  5. $.getJSON("NatGeo.jsp",{ ZipCode: value,Radius:
  6. document.getElementById("radius").value,function(data) {
  7. DrawZip(data,value);
  8. }
  9. );
  10. });

猜你在找的Ajax相关文章