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

React Native调用登录API持续出现网络错误,求解决方案

React Native登录API网络错误排查方案
  • 验证API地址有效性
    把BASE_URL+"/auth/login"拼接成完整URL,在Postman或浏览器里用相同参数发起POST请求测试。如果这里也报错,说明是API本身的问题(比如服务器未启动、路径错误、权限限制),先解决API端问题;如果能正常返回,再排查RN项目配置。

  • iOS ATS配置检查
    iOS默认限制非HTTPS请求或证书不合法的HTTPS请求:

    1. 打开项目的ios/[项目名]/Info.plist文件
    2. 添加ATS临时例外(仅用于测试,上线前必须替换为合法HTTPS证书):
      <key>NSAppTransportSecurity</key>
      <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
      </dict>
      
  • Android网络权限与明文请求设置

    1. 确保android/app/src/main/AndroidManifest.xml里添加了网络权限:
      <uses-permission android:name="android.permission.INTERNET" />
      
    2. 如果API用的是HTTP协议(非HTTPS),Android 9+需要开启明文请求支持,在<application>标签里添加:
      <application
        ...
        android:usesCleartextTraffic="true">
      
  • 请求格式适配
    确认API要求的Content-Type:

    • 如果API需要application/x-www-form-urlencoded而非application/json,修改请求配置:
      const params = new URLSearchParams();
      params.append('username', 'physician@doral.com');
      params.append('password', 'password');
      params.append('device_token', '');
      params.append('device_type', 1);
      params.append('latitude', '');
      params.append('longitude', '');
      
      const config = {
        method: 'post',
        url: BASE_URL + "/auth/login",
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',
        },
        data: params
      };
      
  • 排查网络环境与代理

    • 真机测试时,确保设备网络正常(关闭VPN、代理),若API是内网服务,需和服务器在同一WiFi下
    • 模拟器测试时,检查模拟器的网络连接是否正常,可尝试重启模拟器
  • 打印完整错误日志
    修改catch块,输出更详细的错误信息,定位具体问题:

    .catch((err) => {
      console.log("完整错误:", err);
      console.log("响应数据:", err?.response);
      console.log("请求配置:", err?.config);
      Alert.alert("错误详情", JSON.stringify(err, null, 2));
    });
    

内容的提问来源于stack exchange,提问作者Suraj nayi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:36:07