我正在尝试加载本地JSON文件,但它无法正常工作.这是我的JavaScript代码(使用jQuery:
var json = $.getJSON("test.json");
var data = eval("(" +json.responseText + ")");
document.write(data["a"]);
Run Code Online (Sandbox Code Playgroud)
test.json文件:
{"a" : "b", "c" : "d"}
Run Code Online (Sandbox Code Playgroud)
没有显示任何内容,Firebug告诉我数据未定义.在Firebug中,我可以看到json.responseText并且它是好的和有效的,但是当我复制该行时很奇怪:
var data = eval("(" +json.responseText + ")");
Run Code Online (Sandbox Code Playgroud)
在Firebug的控制台中,它可以工作,我可以访问数据.
有人有解决方案吗?
我试图使用jquery读取文本文件,如下所示:
// LOAD file and split line by line and append divs
$.get('myFile.txt', function(data) {
var lines = data.split("\n");
$.each(lines, function(n, elem) {
$('#myContainer').append('<div>' + elem + '</div>');
});
});
Run Code Online (Sandbox Code Playgroud)
在chrome中,我得到:
XMLHttpRequest cannot load file:///C:/myPath/myFile.txt. Origin null is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
Firefox没有显示错误,但代码没有执行(我在firebug中有断点,匿名函数从不运行).
任何帮助赞赏!
编辑:
必须:
现在它工作正常!
只是有一个快速的问题,扔掉,看看是否有一个解决方案...
我们假装无法访问服务器.我加载一个网页,发现他们从子文件夹加载了一个Javascript文件(比方说/scripts/js/some.js)
现在,我想在本地更改此文件并针对整个站点进行测试,而无需将整个站点下载到本地文件夹.
有没有人知道我可以覆盖该远程js文件的加载方式,有利于它的本地/编辑副本?
javascript ×2
jquery ×2
browser ×1
file ×1
filesystems ×1
firebug ×1
get ×1
json ×1
local-files ×1