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
相关产品推荐
相关产品推荐

