找不到本地存储的json文件

时间:2018-07-17 02:17:04

标签: javascript

由于某种原因,代码无法打开本地文件。当前我的文件位于C:/ file_folder / file_name

代码如下:

function loadJSON(callback) 
{   
  var xobj = new XMLHttpRequest();
  xobj.overrideMimeType("application/json");
  xobj.open('GET', './file_folder/file_name', true);
  xobj.onreadystatechange = function () {
  if (xobj.readyState == 4 && xobj.status == "200") {
    callback(JSON.parse(xobj.responseText));
    }
  };
  xobj.send(null);  
}

我的网址错误吗?

2 个答案:

答案 0 :(得分:1)

您说您的脚本是从 C:/file_folder/

运行的

您要读取的文件位于 C:/file_folder/file_name

从脚本到文件的相对路径为 ./file_name 而不是 ./file_folder/file_name

在这种情况下,

./file_folder/file_name 实际上是在 C:/file_folder/file_folder/file_name 中查找

仅在您的计算机上运行了脚本或引用了托管网页的服务器中的文件时,这才有效。否则,网页将无法读取您的本地文件系统。

答案 1 :(得分:1)

浏览器中的Javascript无法从您的文件系统读取。

您必须设置服务器以从端点发送文件。

这是节点中的fs模块,用于读取文件:https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback