我想创建一个具有全局范围的对象,该对象具有从外部 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