2017-10-04 14 views
0

JSONファイルを配列にロードしてから配列から読み込みしようとしましたが、アラートにデータが表示されません。JSONファイル内のデータがロードされた配列からデータを読み込み

JSONファイル:data.json

[ 
{"Name":"name1", "Occupation":"occ1"}, 
{"Name":"name2", "Occupation":"occ2"}, 
{"Name":"name3", "Occupation":"occ3"}, 
{"Name":"name4", "Occupation":"occ4"}, 
{"Name":"name5", "Occupation":"occ5"} 
] 

のjQueryコード

function getJsonData() { 
    var arrJson = []; 

    $.getJSON("data.json", function(data){ 
     arrJson = data; 
    }); 
    return arrJson;  
}; 

$(document).ready(function(){ 
    var data = []; 
    data = getJsonData(); 
    //console.log(data); 

    $.each(data, function(i, value){ 
     alert('index: ' + i + ',value: ' + value); 
    }); 
}); 

私は何をしないのですか?

よろしく、 エリオ・フェルナンデス

答えて

0

getJsonData();それは、スクリプトの残りの部分と異なるタイムラインで答えを返す意味、非同期関数です。

$.getJSON("data.json", function(data){ 
    arrJson = data; 
    $.each(data, function(i, value){ 
     alert('index: ' + i + ',value: ' + value); 
    }); 

}); 
+0

こんにちはSkarlinskiが、私はjQueryと私ドンに新しいです:

は何をする必要があるともトリックを行います非同期関数内でforeachループを動かし、それ以外の場合はcallback

を実装していますこのコールバックの実装方法はわかりません。あなたが共有できるgetJSONを使ったコールバックの例がありますか? –

+0

コールバックの代わりに共有したコードを使用する – Skarlinski

関連する問題