我正在尝试将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 :(得分:0)
getJsonData();
是一个异步函数,意味着它在不同的时间轴中返回一个答案,作为脚本的其余部分。
您需要做的是实施callback
否则,在异步函数中移动foreach循环也可以解决问题:
$.getJSON("data.json", function( data){
arrJson = data;
$.each(data, function(i, value){
alert('index: ' + i + ',value: ' + value);
});
});