我正在尝试加载本地 JSON 文件,但它不起作用。这是我的 JavaScript 代码(使用 jQuery):
var json = $.getJSON("test.json");
var data = eval("(" +json.responseText + ")");
document.write(data["a"]);
test.json 文件:
{"a" : "b", "c" : "d"}
什么都没有显示,Firebug 告诉我 data
未定义。在 Firebug 中我可以看到 json.responseText
并且它很好并且有效,但是当我复制该行时很奇怪:
var data = eval("(" +json.responseText + ")");
在 Firebug 的控制台中,它可以工作,我可以访问数据。
有没有人有办法解决吗?
原文由 Patrick Browne 发布,翻译遵循 CC BY-SA 4.0 许可协议
$.getJSON
是异步的,所以你应该这样做: