您必须自己组装x-www-form-urlencoded负载,如下所示:
var details = {
'userName': 'test@gmail.com',
'password': 'Password!',
'grant_type': 'password'
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch('https://example.com/login', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
},
body: formBody
})
请注意,if您在(足够现代的)浏览器中使用fetch
,而不是Reaction Native,您可以创建一个URLSearchParams
对象并将其用作正文,因为Fetch Standard states要求如果body
是URLSearchParams
对象,则应该将其序列化为application/x-www-form-urlencoded
.但是,您不能在Reaction Native中执行此操作,因为Reaction Native does not implement URLSearchParams
.