var list = [];
$.getJSON("json.js", function(data) {
$.each(data, function(i, item) {
console.log(item.text);
list.push(item.text);
});
});
console.log(list.length);
list.length
总是返回 0。我在 firebug 中浏览了 JSON,它的格式很好,一切看起来都很好。我似乎无法将项目添加到数组中我缺少什么?
最佳答案
由于 $.getJSON
是异步的,我认为您的 console.log(list.length);
代码在您的数组被填充之前触发。要更正此问题,请将您的 console.log
语句放入回调中:
var list = new Array();
$.getJSON("json.js", function(data) {
$.each(data, function(i, item) {
console.log(item.text);
list.push(item.text);
});
console.log(list.length);
});
https://stackoverflow.com/questions/1353245/
相关文章:
python - 如何更改可序列化 python 对象的 json 编码行为?
javascript - 使用 JSON 制作 XmlHttpRequest POST
javascript - 为什么 JSON.parse 会因空字符串而失败?
java - 使用 Jackson 将 JSON 反序列化为多态类型 - 一个完整的示例给了我一个编
json - 下载 jackson.codehaus.org jar
java - jackson 通过删除 'is' 重命名原始 boolean 字段