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

React Native Expo调用特定API报TypeError: Network request failed求助

React Native Expo调用特定API抛出TypeError: Network request failed错误

问题情况

在React Native Expo项目中调用目标API时出现TypeError: Network request failed错误,但调用第三方API(如https://randomuser.me/api/)可以正常获取数据。已经尝试过相关解决方案,但均无效,怀疑是目标API本身存在问题。

目标API请求代码

const val = { uId: 'molly', pwd: '123', id: '1' }
const url = 'https://c........com.tw:8899'

let header = {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify(val),
}
fetch(`${url}/auth/login`, header)
    .then((r) => r.json())
    .then((d) => {
        if (d.code === 0) {
            console.log(d.data)
        } else {
            console.log('MSG', d.msg)
        }
    })
    .catch((err) => console.log(err))

可正常运行的API请求代码

fetch('https://randomuser.me/api/')
        .then((r) => r.json())
        .then((d) => {
            console.log('ok')
        })
        .catch((err) => console.log(err))

排查建议

  • 验证目标API的可用性:
    • 用Postman、curl或浏览器直接访问目标API的/auth/login接口,传入相同请求参数,确认是否能正常响应。如果第三方工具也无法访问,说明是API服务端问题(比如端口未对外开放、SSL证书无效、接口路径错误)
    • 检查目标API的SSL证书:Expo对HTTPS证书校验严格,若证书为自签、过期或域名不匹配,会直接拒绝请求。可在浏览器打开目标URL,查看证书状态是否正常
  • 核对请求格式与参数:
    • 确认目标API是否接受application/json格式请求体,部分API可能要求x-www-form-urlencoded格式,可尝试修改请求头为{'Content-Type': 'application/x-www-form-urlencoded'},并将请求体改为new URLSearchParams(val)后重新测试
    • 检查请求体中的参数名称是否与API文档要求一致(例如是否应为userId而非uId,password而非pwd)
  • 排查Expo项目的网络限制:
    • 若在真机测试,确保设备与API服务器处于同一网络环境,或API服务器具备公网访问权限
    • 虽然能访问第三方API,仍可确认app.json中的iOS ATS配置或安卓网络安全配置是否存在特殊限制,不过这部分概率较低

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:55:12