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

Next.js动态路由报错:SyntaxError: Unexpected token < in JSON at position 0

解决Next.js动态路由中的SyntaxError: Unexpected token < in JSON at position 0错误

这个错误的核心原因是:你代码里在解析JSON,但实际拿到的是HTML内容(比如404页面、服务器报错页面),HTML以<开头,导致JSON解析器直接报错。结合动态路由场景,按以下步骤排查:

  • 打开浏览器控制台的Network面板,找到你获取数据的请求,查看Response内容,确认是不是HTML(比如404页面、服务器错误页面)。
  • 检查动态路由文件名是否符合Next.js规则:必须是[参数名].js/ts格式,比如[id].js,别写错文件名。
  • 核对数据获取逻辑(比如getStaticProps/getServerSideProps里的请求):
    • 请求的URL有没有拼错动态参数?比如要请求/api/posts/123,别写成/api/posts导致返回404 HTML。
    • 如果调用的是自己的API路由,检查该路由文件是否正常返回JSON,有没有内部报错返回了HTML。
  • 临时在代码里打印实际返回的内容:比如在fetch后加一行console.log(await response.text()),就能看到到底拿到的是啥,快速定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:59:56