当前位置: 首页 > 知识库问答 >
问题:

JavaScript:如何读取本地文件(特别是json文件)?

卫振
2023-03-14

我的问题很简单:我想读取一个依赖于前端侧而不是服务器的配置json文件。文件名和路径硬编码在JS文件中。我不是从一些文件对话框中获取它的名字,就像在许多例子中一样。

我还尝试了一些使用fetch的建议,比如:

fetch('./data/properties.json')
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(err => console.log(error));

但我总是犯错误

exh.js:30 Fetch API无法加载文件:///c:/users/myusername/webappsprojects/bbsimfe/data/properties.json。对于CORS请求,URL方案必须是“HTTP”或“HTTPS”。

我还安装了CORS Chrome扩展,并打开了它=>;帮不上忙。

我还试图了解我是否可以使用FileReader。例如:

var fr = new FileReader();
fr.readAsText(new File([""], "./data/properties.json"));
fr.onload = function(evt){
    alert(fr.result);
 }

但这不会返回任何结果。

另外,我没有使用Node.js,所以不能使用require();

请协助。谢谢

共有1个答案

云曦之
2023-03-14

出于安全考虑,fetchfileURL不起作用,因此在浏览器中打开文件将不起作用。您应该设置一个本地测试服务器,以便XHR请求能够正常工作。一些选项包括在文件所在的目录中运行python-mhttp.server8080,然后在浏览器中导航到http://localhost:8080,或者使用诸如VSCode的live server插件之类的插件。

 类似资料:
  • 问题内容: 我正在尝试通过创建一个接受文件路径并将文本的每一行转换为char数组的函数来编写一个简单的文本文件阅读器,但是它不起作用。 这是怎么了? 从先前的版本中稍稍更改了代码后,这似乎仍然不起作用,现在给了我一个例外101。 我已经在Firefox上对其进行了测试,并且可以工作,但是在Google Chrome中它却无法工作,并且一直给我一个异常101。如何使它不仅可以在Firefox上而且还

  • 问题内容: 我已经在本地系统中保存了一个JSON文件并创建了一个JavaScript文件,以便读取JSON文件并打印出数据。这是JSON文件: 假设这是JSON文件的路径:。 有人能帮我写一个简单的代码来读取JSON文件并以JavaScript打印数据吗? 问题答案: 由于使用HTTP发出请求,因此您 无法 对本地资源进行AJAX调用。 一种解决方法是运行本地Web服务器,提供文件并对localh

  • 我试图通过创建一个函数来编写一个简单的文本文件阅读器,该函数接受文件的路径并将每行文本转换为char数组,但它不起作用。 这里出了什么问题? 从以前的修订版更改了一点代码后,这似乎仍然不起作用,现在它给我一个异常101。 我在Firefox上测试过这个功能,它可以工作,但在Google Chrome上它就是不工作,它一直给我一个异常101。我如何让它不仅适用于Firefox,还适用于其他浏览器(尤

  • 问题内容: 我试图将文本文件加载到我的JavaScript文件中,然后从该文件中读取行以获取信息,我尝试使用FileReader,但它似乎无法正常工作。有人可以帮忙吗? 问题答案: 是的,可以使用FileReader,我已经做了一个示例,这是代码: 最后,我只是读了其他一些吸引我的答案,但正如他们所建议的那样,您可能正在寻找使您能够从JavaScript文件所在的服务器(或设备)加载文本文件的代码

  • 一个JS文件想使用本地一个JSON文件中的数据 百度了下,发现不能直接去读取这个JSON文件。可以通过JQUERY的一个方法或者new XMLHttpRequest();这样来获取到JSON文件中的内容,不知道还有没有其他更简洁的方法? https://segmentfault.com/a/1190000038275195

  • 我想从我的本地html文件中读取一个本地文本文件,所以我尝试遵循这个线程中的解决方案JavaScript-Read local text file,但建议的解决方案对我也不起作用: 当我调用函数时,在firebug中不会出现错误,但也不会显示警报。我使用Windows和Firefox51.0.1(64位)。我不想将函数与按钮

  • 问题内容: 我正在使用Angular 5,并且已经使用angular-cli创建了服务 我想要做的是创建一个为Angular 5读取本地json文件的服务。 这就是我所拥有的…我有点卡住了… 我该如何完成? 问题答案: 首先,你必须注入和不,你必须删除第二件事,你将不再需要它了,因为新会给你默认响应的身体,最后确保你输入你的 : 将此添加到您的组件: