一尘不染

JavaScript加载本地JSON文件

javascript

我正在尝试加载本地JSON文件,但无法正常工作。这是我的JavaScript代码(使用jQuery:

var json = $.getJSON("test.json");
var data = eval("(" +json.responseText + ")");
document.write(data["a"]);

test.json文件:

{"a" : "b", "c" : "d"}

什么都没有显示,Firebug告诉我数据未定义。在Firebug中,我可以看到json.responseText它是好的且有效的,但是当我复制该行时,这很奇怪:

 var data = eval("(" +json.responseText + ")");

在Firebug的控制台中,它可以正常工作,并且我可以访问数据。

有人有解决办法吗?


阅读 1109

收藏
2020-04-25

共1个答案

一尘不染

$.getJSON 是异步的,所以您应该这样做:

$.getJSON("test.json", function(json) {
    console.log(json); // this will show the info it in firebug console
});
2020-04-25