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

React Native物理Android设备调用本地Spring Boot API时Axios返回网络错误(状态码0)问题排查求助

React Native物理Android设备调用本地Spring Boot API时Axios返回网络错误(状态码0)问题排查求助

大家好,我现在遇到一个头疼的问题:在React Native的物理Android设备上发送POST请求到本地Spring Boot后端时,Axios一直返回Network Error,状态码是0,但同样的请求在Postman里完全正常。想请大家帮忙分析下可能的原因,先把我的情况整理如下:

环境与配置

  • 前端:React Native(运行在物理Android设备上)
  • 后端:本地PC上运行的Spring Boot API,地址是 http://192.168.0.104:8080
  • 目标接口:/sanjivanitravel/register
  • 测试时已关闭PC防火墙
  • 未使用HTTPS,全程采用HTTP协议

我的Axios请求代码

const createUser = async () => {
  const hasError = await validate(userRegistrationCredidentials, 'register');
  if (!hasError) {
    console.log("Registering with:", userRegistrationCredidentials);
    try {
      const response = await axios.post(
        'http://192.168.0.104:8080/sanjivanitravel/register',
        {
          mobileNumber: userRegistrationCredidentials.phone,
          password: userRegistrationCredidentials.password,
        },
        {
          headers: {
            'Content-Type': 'application/json'
          }
        }
      );
      console.log('✅ Registration successful:', response.data);
    } catch (error) {
      console.log("❌ Axios Error");
      console.log("Axios Config:", error.config);
      if (error.response) {
        console.log("Status:", error.response.status);
        console.log("Headers:", error.response.headers);
        console.log("Data:", error.response.data);
      } else if (error.request) {
        console.log("No response received from server");
        console.log("Request:", error.request);
      } else {
        console.log("Error Message:", error.message);
      }
      console.log("Full Error Object:", error.toJSON ? error.toJSON() : error);
    }
    setUserRegistrationCredidentials({});
  }
};

错误日志输出

❌ Axios Error
Axios Config: { ... }
No response received from server
Request: { readyState: 4, status: 0, timeout: 0, withCredentials: true, ... }
Full Error Object: { message: 'Network Error', name: 'AxiosError', code: 'ERR_NETWORK', stack: 'AxiosError: Network Error at handleError (...)' }

已经排查过的事项

  • 后端接口在PC浏览器中可以正常访问,输入http://192.168.0.104:8080/sanjivanitravel/register能得到预期响应
  • Postman发送完全相同的POST请求,能成功完成注册并返回正确数据
  • 确认手机和PC连接的是同一个Wi-Fi网络,局域网IP段一致
  • 已经把Axios配置中的IP从模拟器专用的10.0.2.2改成了当前PC的实际局域网IP192.168.0.104
  • 测试期间全程关闭了PC的防火墙,排除端口被拦截的可能
  • 多次确认后端未启用HTTPS,所有请求都是HTTP协议

我的疑问

明明接口本身是可用的,为什么在物理Android设备上的React Native应用里就会返回状态码0的Network Error呢?会不会是本地开发的CORS跨域问题?或者Android系统对非HTTPS请求的信任限制?毕竟Postman和浏览器都能正常请求,实在找不到问题所在,求各位大佬帮忙分析指点!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 12:19:30