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

如何用script.js在HTML中展示JSON数据?解决MIME类型报错

如何通过script.js在HTML中正确展示JSON数据?

你遇到的错误是因为ES模块规范中,直接导入JSON文件时,服务器返回的application/json MIME类型不符合模块脚本的要求,下面是几种可行的解决方法:

方法1:使用Fetch API获取JSON数据

这是纯静态环境下最通用的方案,无需修改服务器或文件格式:

修改script.js如下:

// 用fetch请求JSON文件
fetch('./data.json')
  .then(response => response.json()) // 解析JSON数据
  .then(data => {
    // 将JSON转为格式化字符串展示,也可按需渲染DOM结构
    document.getElementById("demo").innerHTML = JSON.stringify(data, null, 2);
    console.log(data);
  })
  .catch(error => console.error('加载JSON失败:', error));

方法2:将JSON转为JS模块导出

把data.json重命名为data.js,并修改内容为导出JSON对象:

// data.js
export default {
  // 原JSON的内容,示例:
  title: "测试数据",
  content: ["条目1", "条目2", "条目3"]
};

然后在script.js中正常导入:

import demo from './data.js';
document.getElementById("demo").innerHTML = JSON.stringify(demo, null, 2);
console.log(demo);

方法3:配置服务器(仅适用于可控服务器环境)

如果你的服务器支持自定义配置(比如Node.js Express),可以添加中间件调整JSON文件的MIME类型,使其符合模块导入要求:

// Express服务器示例配置
app.use('/js', (req, res, next) => {
  if (req.path.endsWith('.json')) {
    res.type('application/javascript');
  }
  next();
});

注:此方法需要服务器权限,纯静态页面优先推荐前两种方案。

内容的提问来源于stack exchange,提问作者Александр

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:30:47