我正在尝试执行一个循环,其中包含一个 JSON 查询。我的代码看起来像:
for (var i = 0; i < numitems; i++) {
var currentitem = items[i];
$.getJSON("http://localhost/items.php", {'itemname' : currentitem},
function (json) {
alert (json);
});
}
但似乎 for 循环不等待 json 查询完成并立即继续下一个。是否可以实现一个循环(不必是 for 循环)来执行当前 JSON 查询并在收到来自 json 的响应后继续处理数组中的下一个元素?
谢谢!
最佳答案
function nextItem(i)
{
if(i < numitems)
{
var currentitem = items[i];
$.getJSON("http://localhost/items.php", {'itemname' : currentitem},
function (json) {
alert (json);
nextItem(i + 1);
});
}
}
nextItem(0);
将其放在您当前拥有 for 循环的同一位置(不要将函数移出)。
关于Javascript Json 内部循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543971/