【发布时间】:2017-09-18 09:02:10
【问题描述】:
我需要使用 fetch 进行发布请求 像这样 in Postman.
以及我尝试过的:
let formData = new FormData();
formData.append('username', String(username));
formData.append('password', String(password));
let init = {
method: 'POST',
header:{
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formData
}
fetch(url, init)
它在 Postman 中成功,但在 fetch 中失败,返回 400 错误,没有参数。希望有帮助,谢谢
所以我改变了我的代码
var details = {
'username': '123',
'password': '123',
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
let init = {
method: 'POST',
header:{
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formBody
}
fetch(url, init)
但得到同样的错误
控制台formBody:
username=123&password=123
我的标题键错误,那是错误
应该是:
let init = {
method: 'POST',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formBody
}
而不是
let init = {
method: 'POST',
header:{
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formBody
}
【问题讨论】:
-
我发现我的 content-type 在请求中变成了“text/plain;charset=UTF-8”。但是我还是不知道为什么。
-
我的头像钥匙错了。那是错。
标签: react-native fetch