javascript - React Native XHR multipart/form-data 将数据发送为 [object Object]

标签 javascript reactjs react-native

我正在尝试使用 XHR 和以下代码将 multipart/form-data 从 React Native(在模拟器上运行)发送到后端服务器

let xhr = new XMLHttpRequest();
xhr.open('POST', 'http://....url....');
let formdata = new FormData();
formdata.append('title','This is awesome');
xhr.send(formdata);

但是在控制台日志中,请求负载显示为[object Object]

因此,我决定采用相同的代码并将其放入 HTML 文件中,然后从 Chrome 浏览器运行,控制台日志中的请求有效负载如下所示,这是我期望从 React Native 中得到的

------WebKitFormBoundaryGXwudBdBkJzBnPug
Content-Disposition: form-data; name="title"

This is awesome
------WebKitFormBoundaryGXwudBdBkJzBnPug--

最佳答案

我也遇到了同样的问题,经过一天的研究,我发现我们必须应用一个 polyfill,因为 React Native 环境与你在浏览器或 Node.js 中找到的环境不同。

将此行放入您的主索引文件中,您应该会很好:

global.FormData = global.originalFormData ? global.originalFormData : global.FormData;

对于 TypeScript 首先定义 global:

declare const global: any;

关于javascript - React Native XHR multipart/form-data 将数据发送为 [object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520812/

相关文章:

javascript - 如何在自定义 CMS 中嵌入或重新创建 Google Analytics Graph

javascript - 如何使滚动页脚固定然后返回滚动

javascript - 如何根据React.js中的输入链接到其他网页?

javascript - React Native this2 .'function' 不是函数

javascript - 如何关闭其中包含多个屏幕的 React Navigation 模态

javascript - 使用 Javascript 将 HTML 页面转换为图像

reactjs - 使用 Next.js 和 Material-UI 首次加载时未应用样式

node.js - React 箭头函数适用于所有组件方法

javascript - 更新嵌套数组 - React Native

javascript - 显示 chrome.storage 中的所有内容