所以,我从一个 php 页面中得到了一个对象,它吐出我拥有的 JSON。当我将全局变量设置为等于我从中创建的对象,然后尝试使用 for(key in obj) 循环获取数据时,它似乎不起作用。
如果我用随机 $.post 之类的东西包围 for 循环,它就可以工作。我很困惑为什么会发生这种情况。
这是我的代码:
var myObj1 = new Object;
$(document).ready(function() {
$.post('namenums.php', {num : 1}, function(data) {
var temp = $.parseJSON(data);
for(var key in temp) {
myObj1[key] = temp[key]['firstname'] + ' ' + temp[key]['lastname'];
}
});
getStuff();
thing();
});
function thing() {
for(var key in myObj1) {
console.log(key);
}
}
现在,如果我将我的 thing() 函数更改为这样的东西,它就可以工作了。
function thing() {
$.post('random.php', function(data) {
for(var key in myObj1) {
console.log(key);
}
});
}
那么,有人可以解释为什么会发生这种情况吗?