我有一个包含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数组的每次迭代传递给回调函数?
您可以使用javascript闭包:
for (var i = 0; i < arr.length; i++) {
(function(i) {
// do your stuff here
})(i);
}
或者您可以使用$.each
:
var arr = [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010];
$.each(arr, function(index, value) {
$.ajaxSetup({ cache:false });
$.getJSON("NatGeo.jsp", { ZipCode: value, Radius:
document.getElementById("radius").value, sensor: false },
function(data) {
DrawZip(data, value);
}
);
});
问题内容: 是否每个递归函数都有一个等效的for循环?(两者都达到相同的结果)。 我有这个递归函数: 假设单词是Set [],并且单词[i] =单词长度为i的集合。 我想做的是:使用一个单词(例如,“ stackoverflow”,没有空格)启动递归,我试图查找该单词是否可以切成子单词(“ stack”,“ over”,“ flow”) ..子词的最小长度为3,并且假设长度为i的子词在Set wo
问题内容: 我如何将数据从随后的php传递回ajax? PHP ajax 我的问题是如何在此处显示值?警报消息给我“未定义”? 问题答案: 您可以按照以下方式进行操作。 JS
问题内容: 我是AJAX的新手,我正在编写一个用户脚本,该脚本将处理页面上的一堆链接并为每个链接进行AJAX调用。 简单地说,我有一个包含链接列表的页面。我希望遍历链接并获取AJAX来处理每个链接页面的内容,并报告该页面是否包含指定内容。 我遇到的问题是用于遍历linkList的[i]的值始终为6,应该永远不会。我假设我需要传递一些数据,以便当.done最终触发时,它从AJAX首次触发时知道其[i
问题内容: 我正在尝试将一些参数传递给用作回调的函数,该怎么做? 问题答案: 如果您想要更一般的东西,可以使用arguments变量,如下所示: 但是否则,您的示例可以正常工作(可以在测试器中使用arguments [0]代替回调)
问题内容: 将参数传递到匿名onreadystatechange回调的普通纯JavaScript(即非JQuery)方法是什么? 例如: 问题答案: Javascript支持闭包,因此您编写的匿名函数将能够从封闭范围访问和访问。 如果要显式地执行此操作(例如,如果要在代码中的其他位置定义回调函数并重用它),则可以创建一个函数来创建回调。这也使您可以使用不同的名称(例如和)来对变量进行别名别名: 然
问题内容: 我试图将回调函数从控制器传递给指令。 这是回调函数代码: 指令用法: 指令代码: 模板中的回调用法: 但是,这给了我以下错误: 我看过很多类似的问题,但不明白我在哪里错了。 问题答案: 从指令中调用表达式方法时,您需要以格式传递指令中的参数,还应更正指令属性值以像 指令用法: 指令模板