无法将JSON文件获取到javascript的数组
我已经尝试了其他线程的解决方案,但我仍然不知道问题出在哪里。如下所示,如果您在html中键入json数据。它可以正常运行。号码将变为红色。但是如果我把数据放到一个JSON文件中。代码无法将JSON文件获取到数组中。即使我将JSON文件放在同一个文件夹中,它也可能失败。谢谢你阅读我的帖子无法将JSON文件获取到javascript的数组,javascript,arrays,json,file,parsing,Javascript,Arrays,Json,File,Parsing,我已经尝试了其他线程的解决方案,但我仍然不知道问题出在哪里。如下所示,如果您在html中键入json数据。它可以正常运行。号码将变为红色。但是如果我把数据放到一个JSON文件中。代码无法将JSON文件获取到数组中。即使我将JSON文件放在同一个文件夹中,它也可能失败。谢谢你阅读我的帖子 {//holiday.json “hd”:[{ “id”:“y2015m12d25”, “描述”:“圣诞节” }, { “id”:“y2015m12d26”, “描述”:“圣诞节” }, { “id”:“Y20
{//holiday.json
“hd”:[{
“id”:“y2015m12d25”,
“描述”:“圣诞节”
}, {
“id”:“y2015m12d26”,
“描述”:“圣诞节”
}, {
“id”:“Y2016 M1D1”,
“描述”:“新年”
}
]
}
22
23
24
25
26
27
28
29
30
$(文档).ready(函数(){
var myJSONObject;
$.getJSON('http://khchan.byethost18.com/holiday.json')
.完成(功能(数据){
//var myJSONObject=JSON.parse(数据);
myJSONObject=数据;
});
/*var myJSONObject={“hd”:[
{“id”:“y2015m12d25”,“desc”:“Xmas”},
{“id”:“y2015m12d26”,“desc”:“Xmas”},
{“id”:“Y2016 M1D1”,“desc”:“新年”}
]
}; */
$.each(myJSONObject.hd,函数(i,索引){
$(“#”+myJSONObject.hd[i].id).css(“颜色”、“红色”);
});
});
$。getJSON
是一个接受回调的异步函数,因此这意味着您尝试获取的数据在此行之后将不可用,但是,它保证如果成功,数据将在回调中可用。
所以这应该行得通
$.getJSON('http://khchan.byethost18.com/holiday.json')
.done(function(data) {
myJSONObject = data;
$.each(myJSONObject.hd, function(i, index) {
$("#" + myJSONObject.hd[i].id).css("color", "red");
});
});
最简单的方法:将
$。每个
方法移到.done
方法中,这是一个异步方法,您不能在它之外使用响应。谢谢。你的解决方案解决了我的问题。不客气。您也可以将其标记为接受答案。:)