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

如何解决React Native Android端Axios网络错误400问题?

Axios POST请求Android端400错误,编码URL后解决

问题现象

使用Axios发起POST请求调用API时,iOS端运行正常,但Android端抛出Network Error 400错误;对URL执行encodeURIComponent编码后,请求成功返回200状态码。

原因分析

Android与iOS的网络组件对URL的解析逻辑存在差异,当URL包含空格、中文、&/=/?这类特殊符号时,Android系统(部分旧版本表现更明显)无法正确处理未编码的URL,导致服务器判定请求格式无效,返回400错误。

解决代码

return await axios.post(encodeURIComponent(url), JSON.stringify(data), config)
  .then(({ data }) => {
    return { success: 1, data };
  })
  .catch(error => {
    console.log('error', error)
    return { success: 0, error: error.message };
  });

额外注意事项

  • 不建议直接编码完整URL(比如包含http://的地址),否则协议部分会被编码引发异常。正确做法是仅编码URL中的路径参数或查询参数部分,比如URL为https://api.example.com/user?name=张三,只编码张三或user?name=张三部分即可。
  • 优先排查URL中的特殊字符,非ASCII字符、空格、特殊符号是触发Android端解析失败的常见诱因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:01:16