我正在尝试编写代码来在Javascript中读取本地JSON文件。我写的代码如下:
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', 'file:///C:/tmp/abc.json', true);
xobj.onreadystatechange = function() {
if (xobj.readyState == 4 && xobj.status == "200") {
// .open will NOT return a value but simply returns undefined in async mode so use a callback
callback(xobj.responseText);
}
}
xobj.send(null);
另外,我正在使用以下命令运行Chrome浏览器:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="C://Chrome dev session" --disable-web-security --allow-file-access-from-files
代码无效,我收到的xobj.status
为0
。我检查了“网络”标签,发现xhr
的{{1}}状态显示为红色,显示为abc.json
。
如果我误会了,请告诉我。
答案 0 :(得分:0)
XMLHttpRequest将从服务器获取资源。
你的路径
'file:///C:/tmp/abc.json'
不是服务器提供的网址
此外,使用JavaScript,您无法访问操作系统的存储驱动器。
要读取本地文件,您需要使用文件上传器并通过File API读取上传文件的内容。
试试这个