J'ai besoin de faire une demande de publication avec fetch comme ceci in Postman.Comment faire une demande de publication dans ReactNative avec formData
Et ce que j'ai essayé:
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)
Il est réussi à Postman, mais a échoué avec fetch renvoyant une erreur 400 sans param. Espérons que certaines aide, grâce
Alors j'ai changé mon code
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)
Mais obtenir une même erreur
consolele formBody:
username=123&password=123
Ma clé headers a eu tort, c'était le erreur
doit être:
let init = {
method: 'POST',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formBody
}
au lieu de
let init = {
method: 'POST',
header:{
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formBody
}
Je trouve que mon type de contenu devient "text/plain; charset = UTF-8" dans la requête.Mais je ne sais toujours pas pourquoi. – Lyle
Mes clés étaient erronées. C'était la faute. – Lyle