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

React Native应用登录功能网络请求失败求助(附代码)

解决React Native实体手机调用API出现TypeError: Network request failed的问题
  • 确认设备与服务器处于同一局域网
    你的API地址使用的是局域网IP(10.7.165.91),必须保证实体手机和运行Node.js服务器的电脑连接同一个WiFi网络,否则手机无法访问局域网内的服务器。

  • 验证服务器IP与端口的可访问性

    1. 在服务器电脑上执行ipconfig(Windows)或ifconfig(Linux/macOS),确认IPv4地址确实是10.7.165.91,避免IP地址变更导致访问失败。
    2. 在手机浏览器中尝试访问http://10.7.165.91:8090,如果无法打开,说明服务器端口未开放或IP地址有误。
  • 开放服务器防火墙端口
    服务器电脑的防火墙可能拦截了8090端口的请求:

    • Windows:打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」,选择端口,输入8090,允许连接。
    • Linux/macOS:使用ufw allow 8090(Ubuntu)或对应防火墙命令开放端口。
  • 处理Android明文HTTP限制
    Android 9(API 28)及以上默认禁止明文HTTP请求,需修改配置:

    1. 打开android/app/src/main/AndroidManifest.xml
    2. 在<application>标签中添加android:usesCleartextTraffic="true",示例:
      <application
        ...
        android:usesCleartextTraffic="true">
      
  • 处理iOS ATS限制
    iOS默认要求使用HTTPS,允许HTTP访问需修改Info.plist:

    1. 打开ios/[你的项目名]/Info.plist
    2. 添加以下配置:
      <key>NSAppTransportSecurity</key>
      <dict>
          <key>NSAllowsArbitraryLoads</key>
          <true/>
      </dict>
      

    注意:正式发布应用时建议仅允许指定域名的HTTP访问,不要全局开启。

  • 优化错误排查
    在你的fetch请求的catch块中添加更详细的错误日志,方便定位问题:

    .catch(error => {
        console.log('Network Error:', error.message);
        console.log('Error Stack:', error.stack);
    });
    

内容的提问来源于stack exchange,提问作者Nguyễn Duy Khang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:57:43