サーバースクリプトからjsonとしてフェッチされた値をグローバル配列に入力するjsに関数があります。
function populateValues(id) {
var values=new Array();
$.getJSON(
'<?PHP echo base_url();?>admin/forums/getForumById/' + id ,
function(data){
$.each(data,function(k,v){
values.push(v);
});
alert(values[1]);
}
);
}
これは正常に機能し、目的の値を警告します。しかし、ループ後にこれを警告しようとすると、値が失われ、未定義になります。これがケースです:
function populateValues(id) {
var values=new Array();
$.getJSON(
'<?PHP echo base_url();?>admin/forums/getForumById/' + id ,
function(data){
$.each(data,function(k,v){
values.push(v);
});
}
);
alert(values[1]);
}
それはいくつかの閉鎖構造の形成によるものですか?それとも、私が欠けている基本的な概念ですか?配列をグローバルとして宣言した場合でも、値が警告されない理由を知りたいだけです。光を当ててください。