我正在编写一些 Jquery,但我的代码顺序并没有按照我想要的方式运行。具体来说,我正在进行 JSON 调用(getJSON),一旦获得文件,我想创建一个稍后将使用的数组。
我的代码 -
jQuery(document).ready( function () {
console.log("first");
var things = [];
jQuery.getJSON("file.json", function(data) {
jQuery.each(data, function(key, value) {
jQuery.each(value, function(i, v) {
console.log("i = " + i + " v = " + v);
things.push(v);
});
});
console.log( "things(JSON) = " + things);
});
console.log( "things = " + things);
console.log("last");
});
我的 JSON 文件 -
{
"good": [
"icecream",
"perl",
"baskets"
],
"bad": [
"greenLantern",
"villians"
],
}
我期望这个执行顺序:getJSON,从 JSON 对象获取数据,添加到数组“事物”。
但相反,我看到了这个:
第一的
获取 test2.json
事情(最后)=
最后的
i = 0 v = 冰淇淋
i = 1 v = perl
i = 2 v = 篮子
i = 0 v = 绿灯
i = 1 v = 恶棍
things(JSON) = icecream,perl,baskets,greenLantern,villians
这种顺序混乱不允许我用我想要的值创建我的数组。相反,我最终得到一个空数组。有人可以说明发生了什么吗?
谢谢你。