加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:16:01 所属栏目:百科 来源:网络整理
导读:我有一个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("NatG
我有一个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);
    }
  );
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读