You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何使用jQuery读取C盘指定路径的JSON文件

解决jQuery无法读取本地绝对路径JSON文件的问题

嘿,我来帮你搞定这个读取本地JSON文件的问题!你遇到的核心问题是浏览器的安全限制,下面我一步步给你解释原因和解决办法:

为什么你的代码无法工作?

浏览器出于安全考虑,默认禁止JavaScript直接访问本地文件系统的绝对路径(比如C:/Program Files/Sample/demo.json)。当你直接在浏览器中打开本地HTML文件时,页面使用的是file://协议,这种协议下AJAX请求(包括$.getJSON)会被同源策略拦截,无法读取本地文件。

另外,你的路径里包含空格(Program Files),这也可能导致路径解析错误,但这不是主要问题。

解决方案(按推荐程度排序)

1. 搭建本地HTTP服务器(最推荐,安全规范)

这是最标准的解决方式,把本地文件通过HTTP协议访问,绕过浏览器的file://限制:

  • 打开命令提示符(CMD),导航到JSON文件所在的文件夹:
    cd "C:/Program Files/Sample"
    
  • 启动简易本地服务器:
    • 如果你装了Python 3,运行:
      python -m http.server 8000
      
    • 如果你装了Python 2,运行:
      python -m SimpleHTTPServer 8000
      
  • 修改你的jQuery代码,把路径改成服务器的访问地址:
    $.getJSON("http://localhost:8000/demo.json", function(data) {
      $.each(data, function(i, item) {
        // 这里写你处理数据的逻辑,比如打印到控制台
        console.log("读取到的数据:", item);
      });
    }).fail(function(jqXHR, textStatus, errorThrown) {
      // 加上错误处理,方便排查问题
      console.error("读取失败:", textStatus, errorThrown);
    });
    
  • 最后在浏览器中访问http://localhost:8000/你的HTML文件名.html,就能正常读取JSON了。

2. 修改浏览器安全参数(仅临时测试用,不推荐)

如果你只是临时测试,不想搭服务器,可以修改浏览器的启动参数来禁用本地文件的安全限制:

  • 以Chrome为例:
    1. 右键Chrome快捷方式,选择「属性」
    2. 在「目标」输入框的末尾,添加 --allow-file-access-from-files(注意前面有一个空格)
    3. 点击「确定」,重启Chrome
    4. 此时你可以直接打开本地HTML文件,同时记得把路径里的空格转义成%20:
      $.getJSON("C:/Program%20Files/Sample/demo.json", function(data) {
        $.each(data, function(i, item) {
          console.log(item);
        });
      }).fail(function(jqXHR, textStatus, errorThrown) {
        console.error("读取失败:", textStatus, errorThrown);
      });
      

注意:这个方法会降低浏览器的安全性,测试完记得改回原来的快捷方式设置。

3. 检查JSON文件格式

最后别忘了确认你的demo.json文件格式是正确的,比如没有语法错误(比如逗号遗漏、引号不匹配),否则即使路径正确,$.getJSON也会读取失败。你可以用本地的文本编辑器自带的校验功能或者离线JSON工具检查格式。

内容的提问来源于stack exchange,提问作者VAMSI KRISHNA YARLAGADDA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:52:53