Jquery将循环变量绑定到getJSON函数
Jquery binding loop variable to getJSON function
我有一个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之外的变量。有人能帮忙吗?谢谢和问候。
这应该与在实际上任何其他循环中绑定循环变量没有什么不同。由于您使用的是数组,因此最干净的方法是使用Array#forEach
:
var mylist = ["a", "b", "c"];
mylist.forEach(function (item) {
var urlstr = "/" + item;
$.getJSON(urlstr, function(data){
var html = "<tr><td>" + item + "</td><td>" +
data.string[0] + "</td></tr>";
$("#tableresult").append(html);
console.log(item);
});
});
请确保您的php返回数据是json。
例如:
$data['something'] = 'data';
echo json_encode($data);
并使用函数获取索引(i):
$.getJSON("demo_ajax_json.js", function(result){
$.each(result, function(i, field){
$("div").append(field + " ");
});
});
相关文章:
- ASP.Net AJAX$GetJson函数获胜'不要被处决
- Jquery将循环变量绑定到getJSON函数
- 如何在 window.setInterval 中每分钟运行一次 getJSON 函数
- 等效于不带jQuery的getJSON函数
- 在getJSON函数中分配一个变量
- jquery getjson 函数:回调返回错误的字符串
- 我没有从getJSON函数获得任何数据
- 无法访问 $.getJSON 函数
- 使用$. getjson()函数的空响应
- 我可以有一个递归的JavaScript函数在$.getJSON函数
- 正在尝试在$.getJSON函数之外使用JSON值
- 从getJSON函数返回值
- jquery getJSON函数未运行
- 不能访问$中的全局数组.getJSON函数
- 使用getJSON函数从while循环读取数据
- 如何从 $.getJSON 函数返回变量
- 如何在第一个 getjson 函数中的另一个 getjson 调用中使用 getjson 响应变量
- 使用 getJSon 函数将 JSON 数据解析为 html 页面
- 在$中测试布尔变量时出现奇数结果.getJSON函数
- 在getJSON函数中使用变量的值而不是变量