如何在Javascript中加载本地文件
我有一个名为如何在Javascript中加载本地文件,javascript,Javascript,我有一个名为dump.json的文件,格式如下: [{"key": "XYZ", "values": [[1424642400000, 28], [1424728800000, 80], [1424815200000, 92]]}] 而且,我想做的是以某种方式将其加载到JavaScript中的变量名histcatexplong: var histcatexplong = [{"key": "XYZ", "values": [[1424642400000, 28], [1424728800000
dump.json
的文件,格式如下:
[{"key": "XYZ", "values": [[1424642400000, 28], [1424728800000, 80], [1424815200000, 92]]}]
而且,我想做的是以某种方式将其加载到JavaScript中的变量名histcatexplong
:
var histcatexplong = [{"key": "XYZ", "values": [[1424642400000, 28], [1424728800000, 80], [1424815200000, 92]]}];
我该怎么做呢?正如我在评论中所说的,这可以在线和离线使用(不需要Web服务器),而XMLHTTPRequest可以。请注意,Filereader仅在现代浏览器中受支持 函数readSingleFile(evt){ var f=evt.target.files[0]; 如果(f){ var r=新文件读取器(); r、 onload=函数(e){ var内容=e.target.result; document.querySelector(“div”).innerHTML=“获取文件。n” +“名称:”+f.name+“n” +“类型:”+f.type+“n” +“大小:”+f.size+“字节数” +以“+内容”开头 //将其存储为JSON histcatexplong=JSON.parse(内容); } r、 readAsText(f); }否则{ 警报(“加载文件失败”); } } document.getElementById('fileinput')。addEventListener('change',readSingleFile,false)代码>
我只需向
.json
文件发送一个不带参数的GET请求。注意:以下代码示例在IE5/IE6中不起作用,因此必须在服务器(例如localhost)上运行,以获得更跨浏览器的解决方案。一个粗略的想法:
var histcatexplong;
var xhReq = new XMLHttpRequest();
xhReq.open("GET", "dump.json", true);
xhReq.send(null);
xhReq.onreadystatechange=function()
{
if (xhReq.readyState==4 && xhReq.status==200)
histcatexplong=JSON.parse(xhReq.responseText);
}
使用Ajax:与文件输入结合使用。这也可以在不运行本地Web服务器的情况下工作。此外,您可能指的是
json
,而不是jason
;)使用。重复?我喜欢这个,但在我的Chrome上不起作用。你能再检查一下这个答案吗?只要你在本地主机或服务器上运行它,它就会工作(如果您将其作为文件运行,它将不起作用,因为。我不建议使用synchronousXMLHttpRequest
,因为如果internet连接中途断开,它可能会挂起一些浏览器。但是,我不明白为什么特别是此代码不起作用。@Qantas940,我会将第三个参数更改为true。不幸的是,我不…仅供参考,两个文件都在同一个文件夹中。我也可以通过localhost调用其中一个…有什么想法吗?