Expo React Native安卓端Axios/Fetch调用自研API遇网络错误
Expo React Native Android端FormData请求Network Error问题解决
问题场景
使用Expo React Native开发应用时,遇到异常:调用公开或测试API均正常,但调用自研API并以FormData发送请求时,Android端出现[AxiosError: Network Error]错误,iOS端可正常运行。使用的是最新版本的Axios和React Native。
排查过程
- 调试发现请求似乎未发出或到达API,尝试开放更多API端口无效
- 尝试降级Axios版本、改用Fetch发起请求,均出现相同“Network Error”
- 在实体机运行及打包APK后测试,问题依旧
解决方案
通过修改请求配置解决问题,核心是在请求配置中添加transformRequest函数直接返回原始数据,同时指定正确的Content-Type头。代码示例:
const formData = new FormData(); // 此处添加FormData字段... const response = await networking.post('/URL', formData, { headers: { 'Content-Type': 'multipart/form-data', }, transformRequest: (data) => { return data; // 直接返回原始FormData }, });
内容的提问来源于stack exchange,提问作者Raul Ernesto Flores Ramirez
相关产品推荐
相关产品推荐

