由于某种原因,代码无法打开本地文件。当前我的文件位于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);
}
我的网址错误吗?
答案 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