android - 无法在 axios 上发出 POST 请求(React-Native)

标签 android react-native networking axios

我正在向“Cloudinary”服务器发出 POST 请求以上传图像并使用 react-native 中的 axios 发送表单数据。整个过程在 iOS 上运行良好,但在 Android 上我收到“网络错误”。

我正在使用 axios 0.18.0,并且从过去 3 天开始一​​直坚持使用它。有人请帮助我。

很多人都遇到过这个问题,但至今没有解决方案。

 var photo = {
  uri: image.sourceURL,
  type: image.mime,
  name: image.filename,
 };

 var formData = new FormData();
 formData.append('file',photo); 
 formData.append('upload_preset','abcde');

 axios({
   url:'https://api.cloudinary.com/v1_1/abcde/upload',
   method:'POST',
   headers:{
    'Content-Type':'application/x-www-form-urlencoded'
   },
   data:formData
 }).then(function(response){

 }).catch((error) =>{
  //Network error comes in
 });

确切的控制台错误是:

Error: Network Error
at createError (createError.js:16)
at XMLHttpRequest.handleError (xhr.js:87)
at XMLHttpRequest.dispatchEvent (event-target.js:172)
at XMLHttpRequest.setReadyState (XMLHttpRequest.js:567)
at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:397)
at XMLHttpRequest.js:503
at RCTDeviceEventEmitter.emit (EventEmitter.js:179)
at MessageQueue.__callFunction (MessageQueue.js:351)
at MessageQueue.js:116
at MessageQueue.__guardSafe (MessageQueue.js:314)

有人可以指出我正确的方向,因为我从过去 3 天就被困在这里了。 P.S:相同的代码在 iOS 上运行良好。

最佳答案

我也在这个问题上纠结了一段时间。但是我现在在 Android 设备上解决了我的 axios post network createError 的问题。 axios 网络错误的原因是因为我传递给 axios 的表单数据包含我猜的错误类型的数据对象。我已经包含一个图像对象(来自 Expo 的 ImagePicker 对象)作为表单数据的参数之一,我认为它不被 axios 接受。 Axios 可能只接收字符串、 float 、整数或图像作为参数。 image 不能作为参数传递,它不是一种图像,它是一个 react native 对象,我已经删除它并通过将 image.uri 分配给 param 的值来包含一个图像字段作为参数然后它工作。希望这会帮助一些可能遇到与我之前遇到的问题相同的人。 在测试 axios 网络错误时,将一些表单数据一一删除,您将找出问题的原因。

关于android - 无法在 axios 上发出 POST 请求(React-Native),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50568922/

相关文章:

java - 为什么 Java 看不到 tcpdump 显示的传入 UDP 数据包已收到?

android - 我可以在运行 libgdx 之前运行一个 Activity 吗?

android - 无法从 Assets 'index.android.bundle' 加载脚本,请确保您的包已打包

javascript - ScrollView 切断平铺列表的底部

c - 同时使用相同的套接字强制使用本地和远程端口

networking - UDP/TCP中使用伪报头的意义是什么

android - 旋转二维图像onclick android

Android fragment 动画onResume

Java:导入多个常量的简洁方法

javascript - React Native NetInfo 'connectionChange' 事件未触发