それで、私が持っているJSONを吐き出すphpページからオブジェクトを取得しました。グローバル変数をオブジェクトから作成したオブジェクトに等しく設定し、 for(key in obj) ループでデータを取得しようとすると、うまくいかないようです。
for ループをランダムな $.post のようなもので囲むと、機能します。なぜこれが起こるのか、私はとても混乱しています。
これが私のコードです:
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);
}
});
}
それで、誰かがなぜこれが起こるのか説明してもらえますか?