使用Javascript读取本地JSON文件

时间:2018-05-29 10:37:54

标签: javascript

我正在尝试编写代码来在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.status0。我检查了“网络”标签,发现xhr的{​​{1}}状态显示为红色,显示为abc.json

如果我误会了,请告诉我。

1 个答案:

答案 0 :(得分:0)

XMLHttpRequest将从服务器获取资源。

你的路径

 'file:///C:/tmp/abc.json'

不是服务器提供的网址

此外,使用JavaScript,您无法访问操作系统的存储驱动器。

要读取本地文件,您需要使用文件上传器并通过File API读取上传文件的内容。

试试这个

https://www.html5rocks.com/en/tutorials/file/dndfiles/