【发布时间】:2011-08-29 23:02:09
【问题描述】:
我有一个包含 ajax 调用的 for 循环,我正在尝试确定将索引从 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数组的最后一个值。除了同步运行 ajax 调用之外,如何将 arr 数组的每次迭代传递给回调函数?
【问题讨论】:
-
虽然这是关于 30 other questions 的重复,但在循环中使用函数时这是一个非常常见的问题,我希望你不会介意我修改其中一个标签以增加计数到 31 :)
标签: javascript ajax loops callback closures