外部 JSON ファイルから読み込まれたデータを持つグローバル スコープのオブジェクトを作成したいと考えています。ドキュメントがロードされたら、このオブジェクトのデータを使用したいと考えています。つまり、ユーザー入力を待ちません。jqueryの異なる方法を使用しようとしています。Jquery get メソッドは、後で使用する適切な異なるオブジェクトを生成すると仮定します。オブジェクトを宣言するためのコードは次のとおりです
var myData = {
init: function () {
$.getJSON('data/data.json', function (raw) {
myData.data = raw;
alert(myData.data['UWLO']['name']);
yes = true;
$.each(raw, function (code, details) {
if (yes){
alert(code);
}
yes = false;
nameList[details.name] = code;
});
//alert(nameList);
});
},
data: {},
nameList: {},
findByCode: function (code) {
return myData.data[code];
},
getCode: function (name) {
return nameList[name];
},
getNameStrings: function () {
return Object.keys(nameList);
}
}
オブジェクトを初期化するように見えるコードは次のとおりです。
$(document).ready(function () {
$.when(myData.init()).then(function () {
alert(myData.nameList);
});
});
アラート(myData.data['UWLO']['name']); request は正しい値を提供するため、json ファイルが正しくロードされ、正しい形式でアラート (コード); 行が機能するので、スクリプトは正しくループに入ります 問題は nameList の生成にあると思います