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

React Native Expo中如何查看Axios错误完整信息?

解决Expo中Axios网络错误仅显示“Network error”的问题

在Expo环境下,Axios的错误日志默认会被简化,不像Web端那样直接展示完整对象。可以通过以下几种方式获取完整的错误/响应信息:

  • 手动打印错误对象的深层属性
    Axios的错误对象包含多个关键字段,你可以在catch块里针对性打印:

    try {
      const res = await axios.get('你的接口地址');
    } catch (err) {
      console.log('完整错误对象:', err);
      // 分情况打印细节
      if (err.response) {
        // 服务器返回了响应(状态码非2xx)
        console.log('状态码:', err.response.status);
        console.log('响应数据:', err.response.data);
        console.log('响应头:', err.response.headers);
      } else if (err.request) {
        // 请求已发送但未收到响应
        console.log('请求详情:', err.request);
      } else {
        // 请求配置或初始化阶段出错
        console.log('错误描述:', err.message);
        console.log('请求配置:', err.config);
      }
    }
    
  • 强制展开日志层级
    Expo默认的console.log可能会截断嵌套对象,改用console.dir强制展开所有层级:

    catch (err) {
      console.dir(err, { depth: null });
    }
    

    也可以开启Expo的远程调试(在开发者菜单里选择"Debug Remote JS"),然后在Chrome浏览器的控制台里查看完整的错误对象,这里的日志不会被截断。

  • 添加Axios全局拦截器
    给Axios添加响应拦截器,统一处理错误日志,避免重复代码:

    axios.interceptors.response.use(
      res => res,
      err => {
        console.log('Axios错误详情:', {
          message: err.message,
          response: err.response,
          request: err.request,
          config: err.config
        });
        return Promise.reject(err);
      }
    );
    

内容的提问来源于stack exchange,提问作者I Love Lebanon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:01:05