首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从$.getjson获取数据

如何从$.getjson获取数据
EN

Stack Overflow用户
提问于 2011-09-12 16:33:33
回答 2查看 176关注 0票数 0

我编写的jquery代码如下

代码语言:javascript
运行
复制
var machineId = [];
$.getJSON('ajax/getmachines.php', { plant: vPlant, floor: vBuilding + vFloor }, function(dataList) {
    $.each(dataList, function(recordno, machine) {
        machineId.push(machine['id']);
        alert(machine['id']);
    });
}); 

alert(machineId[0]);

$.each中的第一个警报在每条记录中都显示了正确的数据,但为什么最后一个警报显示未定义?如何使用数组machineId?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-09-12 16:41:07

该请求是异步的,因此在填充数组之前执行最后一个警报。尝试在$.each操作之后放置"alert(machineId)“。

票数 2
EN

Stack Overflow用户

发布于 2011-09-12 16:41:09

getJSON方法是异步的-当运行时引擎到达最后一个警报时,它还没有完成执行。

在回调完成之前,您不能使用数组。

只要在回调中做任何你需要做的事情,例如:

代码语言:javascript
运行
复制
$.each(dataList, function(recordno, machine) {
    machineId.push(machine['id']);
    alert(machine['id']);
});
alert(machineId.join(", "));

这将显示用逗号分隔的所有ID。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7385174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档