6

私はjavascriptとjsonを使い始めたばかりです。

javascript 関数でイベントを処理するときに、json ファイルからデータ (getInformation 関数) を読み取る必要があります。だから私はそれが同期的である必要があります。コードに何かが欠けているのか、リクエストを作成してコールバックを処理する必要があるのか​​ 、それともjsonを使用するために追加のjavascriptをインポートする必要があるのか​​ わかりません。うまくいく方法がわからないからです。最後に配列が空であるため、機能しません。どんな助けでも感謝します。

json ファイル:

{"Users": [
    {"Name": "Jane",
        "Points": 67,
        "age": 23},
    {
        "Name": "Sam",
        "Points": 65,
        "age": 21}
]} 

オプション 1 - イベントを処理している別の関数によって呼び出される関数:

var getInformation = function() 
{
    var path = "./data/users.json";
    var informationArray= [];
    console.log("Loading ....");
    $.getJSON(path, function(data) 
    {
        $.each(data, function(key, val) 
        {
            informationArray.push(key + '-' + val);
        });
    }); 
    return informationArray; 
}

オプション 2 - イベントを処理している別の関数によって呼び出される関数:

var getInformation = function() { 
var path = "./data/users.json";
var informationArray= [];
$.ajax({
         url: path,
         async: false,
         dataType: 'json',
         success: function(response) {
         $.each(response.items,
         function(item) {
         informationArray.push(item);
         });
         informationArray.push("success");
         }
         }); 
   return informationArray; }

次のスレッドを見て、そこにあるものを試しましたが、うまくいきません。コードのどこに問題があるか、または特別な構成が必要かどうかを知りたいです。

スレッド:コールバックを使用しない $getJSON のバージョンはありますか?

4

2 に答える 2