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

时间:2017-06-13 11:54:35

标签: javascript reactjs react-native

我尝试使用以下代码使用XHR从React Native(在模拟器上运行)发送多部分/表单数据到后端服务器

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

但是在控制台日志中,请求有效负载显示为 [对象对象]

所以我决定采用相同的代码并将其放入HTML文件并从Chrome浏览器运行,并从控制台日志中显示Request Payload,如下所示,我希望它来自React Native

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

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

2 个答案:

答案 0 :(得分:1)

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

将此行放在主索引文件中,你应该是好的:

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

首先为TypeScript定义global

declare const global: any;

答案 1 :(得分:0)

完整:https://github.com/jhen0409/react-native-debugger/issues/38https://github.com/jhen0409/react-native-debugger/blob/master/docs/network-inspect-of-chrome-devtools.md 应该可以解决您的问题

简而言之:def get_intersection(a, b): a = set(a) b = set(b) c = sorted(list(a&b)) return c