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

React Native中Axios调用后端接口出现网络错误求助

解决React Native调用本地后端接口出现Network Error的方案

我来帮你排查几个最常见的原因,按顺序试试,应该能解决问题:

  • 替换localhost为电脑的局域网IP
    模拟器或真机里的localhost指的是设备本身,不是运行后端的电脑。你需要找到电脑的局域网IP:

    • Windows:打开命令提示符,输入ipconfig,找“以太网适配器”或“无线局域网适配器”下的“IPv4地址”(比如192.168.1.100)
    • Mac/Linux:打开终端,输入ifconfig或ip addr,找en0(无线)或en1(有线)下的inet地址
      然后把请求地址改成:
    axios.get('http://你的局域网IP:4000/welcomeRoute')
    
  • 修改后端服务的监听地址
    你的后端现在只监听localhost(127.0.0.1),这意味着只有本机能访问,局域网内的设备(模拟器/真机)连不上。修改后端的listen方法,把监听地址改成0.0.0.0,这样就能接收所有网卡的请求:

    app.listen(4000, '0.0.0.0', ()=> { 
      console.log("Server is up and accessible on local network") 
    })
    
  • 检查电脑防火墙设置
    电脑的防火墙可能阻止了4000端口的入站请求。暂时关闭防火墙试试,如果能正常请求,就给4000端口添加一个允许入站的规则。

  • Android模拟器的特殊注意(可选)
    如果你用Android模拟器,除了局域网IP,也可以用10.0.2.2(Android模拟器默认的网关地址,指向宿主电脑),比如:

    axios.get('http://10.0.2.2:4000/welcomeRoute')
    

    不过还是局域网IP更通用,不管是iOS还是Android设备都能用。

  • 确认Expo项目的网络权限
    检查你的app.json(或app.config.js),确保已经添加了网络权限:

    {
      "expo": {
        "android": {
          "permissions": ["INTERNET"]
        }
      }
    }
    

    Expo默认会自动添加这个权限,但如果是自定义配置的话,还是确认一下比较好。

按上面的步骤逐一排查,应该就能解决Network Error的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 20:12:38