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

从项目assets目录获取JSON数据失败,请求技术排查建议

本地assets目录获取JSON失败的排查方向

以下是你遇到问题的可能原因及排查步骤:

1. 文件路径错误

  • 确认assets目录的位置是否匹配代码中的相对路径:
    • 若HTML文件在项目根目录,assets/mydata.json是根目录相对路径;若HTML在子目录(如src/),需调整为../assets/mydata.json
    • 注意文件名大小写:Linux/macOS系统区分大小写,确保代码里的文件名和实际文件完全一致,比如不要把mydata.json写成MyData.json

2. 文件扩展名缺失

  • 你请求Schema文件的路径是assets/myschema,但之前S3示例的Schema文件带.json后缀,若本地文件实际是myschema.json,必须补充后缀,否则服务器无法找到对应文件

3. 本地访问协议问题

  • 直接打开本地HTML文件(file://协议)时,浏览器同源策略会阻止fetch请求本地文件,必须通过本地服务器(如http-server、框架自带开发服务器)访问,使用http://或https://协议
  • 可以在浏览器地址栏输入http://localhost:端口号/assets/mydata.json,验证是否能正常加载JSON内容

4. JSON文件格式错误

  • 确认mydata.json和myschema.json是有效的JSON格式:
    • 检查是否存在语法错误,比如遗漏逗号、引号不匹配、末尾多余逗号(JSON不允许末尾逗号,和JS对象不同)
    • 可将文件内容复制到浏览器控制台,用JSON.parse(内容)测试是否能正常解析

5. 项目构建配置问题

  • 若使用Vue/React/Angular等框架,需确认assets目录是否被配置为静态资源目录:
    • 比如Vue中需用@/assets/mydata.json这类路径(取决于框架配置)
    • 检查构建工具是否误排除了assets目录下的JSON文件,导致打包后文件缺失

代码对比

之前的S3远程请求代码:

var jsonify = res => res.json(); 
var dataFetch = fetch("https://s3.eu-central-1.amazonaws.com/fusion.store/ft/data/plotting-multiple-series-on-time-axis-data.json").then(jsonify); 
var schemaFetch = fetch("https://s3.eu-central-1.amazonaws.com/fusion.store/ft/schema/plotting-multiple-series-on-time-axis-schema.json").then(jsonify);

修正后的本地请求代码示例:

var jsonify = res => res.json(); 
var dataFetch = fetch('assets/mydata.json').then(jsonify); 
var schemaFetch = fetch('assets/myschema.json').then(jsonify);

内容的提问来源于stack exchange,提问作者NanoNet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:45:08