Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中加载本地文件_Javascript - Fatal编程技术网

如何在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上不起作用。你能再检查一下这个答案吗?只要你在本地主机或服务器上运行它,它就会工作(如果您将其作为文件运行,它将不起作用,因为。我不建议使用synchronous
XMLHttpRequest
,因为如果internet连接中途断开,它可能会挂起一些浏览器。但是,我不明白为什么特别是此代码不起作用。@Qantas940,我会将第三个参数更改为true。不幸的是,我不…仅供参考,两个文件都在同一个文件夹中。我也可以通过localhost调用其中一个…有什么想法吗?