我尝试使用以下代码使用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--
答案 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/38 和 https://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