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

React使用Fetch发Get请求报JSON解析错误及请求URL异常问题

问题排查与修复方案

根因说明

  • 你遇到的JSON解析报错本质是请求返回内容不合法:地址拼接错误后,请求命中了本地开发服务的404规则,返回的是HTML格式的404页面,内容以<开头,调用res.json()解析时自然会抛出异常。
  • 地址自动拼接本地服务域名的核心原因是:你的API变量没有添加http://协议前缀,浏览器会把无协议的地址识别为相对路径,自动拼接当前页面的域名前缀,就出现了你观察到的地址异常。

修复步骤

  • 修正API变量的定义,补全协议前缀:
    将原有赋值API = '10.58.6.96:8000'修改为 API = 'http://10.58.6.96:8000'即可解决地址拼接问题。
  • 建议补充请求异常捕获逻辑,避免出现未处理的Promise报错,优化后代码参考如下:
componentDidMount() {
    fetch(`${API}${this.props.location.pathname}`)
      .then(res => {
        // 先校验请求状态是否正常
        if (!res.ok) throw new Error('请求异常,状态码:' + res.status)
        return res.json()
      })
      .then(data => {
        console.log(data);
        this.setState({
          productsInfo: data.result,
        });
      })
      // 捕获所有请求/解析阶段的错误
      .catch(err => console.error('接口请求失败:', err))
    console.log('apiCheck', API);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:24:05