jquery - 如何在 jQuery 中将项目添加到数组中?

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

.net - 从 JSON Schema 生成 C# 类

javascript - 为什么 JSON.parse 会因空字符串而失败?

java - 使用 Jackson 将 JSON 反序列化为多态类型 - 一个完整的示例给了我一个编

json - 下载 jackson.codehaus.org jar

python - Python中的JSON输出排序

java - jackson 通过删除 'is' 重命名原始 boolean 字段

json - 为什么 Boost 属性树 write_json 将所有内容都保存为字符串?有可能改变

python - 将json字符串反序列化为python中的对象