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

React Native中Axios请求更新后URL返回Network Error问题排查

问题分析与解决建议

我们最近更新了后端URL,前端同步切换后,这个新URL无法正常工作。其他URL都能正常运行,只有这个特定URL出问题——它在Postman里能正常调用,但前端访问时返回「Network Error」。我已经试过Stack Overflow上所有能找到的解决方案了。

相关代码

const getUserCart = async () => {
  const URL = `${BASE_URL}orders/getcart/`;
  const config = {
    headers: {
      'Content-Type': 'application/json',
      Authorization: `Token ${accessToken}`, // + isLogin,
    },
  };
  let body = {
    user: await AsyncStorage.getItem("username")
  }
  await axios
    .post(URL, body, config)
    .then(res => {
      if (res.data.cart_detail && res.data.cart_detail[0].items.length == 0) {
        return;
      }
      setNoOfItemsInCart(res.data.cart_detail[0]?.items.length);
    })
    .catch(err => {
      setNoOfItemsInCart(0);
      console.log('get user cart error', err);
    });
};

错误截图

错误截图


排查方向与解决方法

  1. 检查跨域配置(CORS)
    Postman不受浏览器同源策略限制,但前端会受影响。确认后端新URL的CORS配置是否正确:是否允许前端域名的请求,是否包含Authorization头、Content-Type头的允许列表,是否允许POST方法。可以在浏览器开发者工具的「Network」面板查看请求响应头,确认是否存在Access-Control-Allow-Origin等CORS相关字段,缺失的话需要后端调整配置。

  2. 验证URL格式
    检查BASE_URL拼接后是否存在重复斜杠(比如BASE_URL结尾是/,拼接后变成//orders/getcart/),这种情况会导致请求地址无效。可以在代码中打印最终的URL值,确认格式是否正确。

  3. 对齐请求头与Postman配置
    把前端发送的请求头和Postman里的配置逐一对比:

    • 确认accessToken是否有效、未过期,有没有为空的情况;
    • 检查Content-Type是否和后端要求一致,部分后端可能需要application/x-www-form-urlencoded,Postman会自动适配,但前端需要手动调整;
    • 注意头字段的大小写,虽然HTTP头不区分大小写,但部分后端框架可能对大小写敏感。
  4. 确认AsyncStorage获取的值
    虽然用了await获取username,但要确认返回值是否符合后端要求(比如是否为空、格式是否正确)。可以在body定义后打印user的值,若值不符合预期,后端可能返回异常,导致axios触发网络错误。

  5. 打印详细错误信息
    在catch块里补充打印更详细的错误内容,而不是只打印err:

    catch(err => {
      setNoOfItemsInCart(0);
      console.log('Error details:', {
        message: err.message,
        responseData: err?.response?.data,
        statusCode: err?.response?.status,
        requestInfo: err?.request
      });
    });
    

    这些信息能帮你区分是请求发送失败、后端返回错误还是响应解析异常。

  6. 检查环境与代理配置
    确认前端开发环境的代理配置是否包含新URL的转发规则,另外排查是否有浏览器插件(广告拦截器、VPN)干扰请求发送,或者网络环境和Postman不一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:50:17