【发布时间】:2015-03-30 19:04:56
【问题描述】:
我有一个 for 循环,它获取一个 json 数组并将其与另一个列表的变量一起填充到一个表中。我的问题是我无法在 get 方法中访问 i 。但我里面有 mylist 及其所有内容。我尝试使用 bind(this,i) 将函数绑定到变量 i ,但这表示 .getJSON() 不是函数。这是相关代码。
var mylist = ["a", "b", "c"]
for (i = 0; i < mylist.length; i++) {
urlstr = "/" + mylist[i]; // Generate url
$.getJSON(urlstr, function(data) {
html = "<tr><td>" + mylist[i] + "</td><td>" + data.string[0] + "</td></tr>";
$("#tableresult").append(html); //this returns undefined for mylist[i]
console.log(i); //this returns 3 which is the length of list
});
}
简而言之,我需要在 getJSON 中可以访问 getJSON 之外的变量。 有人可以帮忙吗?谢谢和问候。
【问题讨论】:
-
你似乎有一些字符串边界问题。
-
urlstr="/"+mylist[i]; . .试试这个
-
i是3的问题是您循环遍历项目,调用 getJSON,但在调用第一个回调之前,循环已经完成,导致i为 3对于每个回调。
标签: javascript jquery