[英]HTTP POST -> 400: Bad Request
我正在学习如何制作 API,目前该 API 工作正常(使用 Postman)。 我现在正在尝试制作一个使用它的应用程序,我设法发出 GET 和 DELETE 请求,但我被困在 POST 和 PUT 请求上。
这是我为 POST 尝试的内容:
url = "http://localhost:8000/musiques"
let titre = document.getElementById('formTitre').value;
let auteur = document.getElementById('formAuteur').value;
let genre = document.getElementById('formGenre').value;
let annee = document.getElementById('formAnnee').value;
let image = document.getElementById('formImage').value;
let jsonArr = [];
jsonArr.push({
auteur: auteur,
titre: titre,
genre: genre,
annee: annee,
image: image
});
console.log(jsonArr);
let req = new XMLHttpRequest();
req.open("POST", url);
req.send(jsonArr);
当我尝试时,出现错误 400 错误请求。
编辑:
好的,现在我有这个:
let titre = document.getElementById('formTitre').value;
let auteur = document.getElementById('formAuteur').value;
let genre = document.getElementById('formGenre').value;
let annee = document.getElementById('formAnnee').value;
let image = document.getElementById('formImage').value;
let jsonArr = [];
console.log(titre);
jsonArr.push({
auteur: auteur,
titre: titre,
genre: genre,
annee: annee,
image: image
});
console.log(JSON.stringify(jsonArr));
fetch(url, {
method: 'POST',
body: JSON.stringify(jsonArr),
headers:{
'Content-Type': 'application/json'
}
}).then(res => res.json())
.then(response => console.log('Success:', JSON.stringify(response)))
.catch(error => console.error('Error:', error));
这给我一个错误:
Success: {"error":{"code":500,"message":"Internal Server Error","exception":
[{"message":"An exception occurred while executing 'INSERT INTO api_musique
(auteur, genre, image, annee, titre) VALUES (?, ?, ?, ?, ?)' with params
[null, null, null, null, null]:\n\nSQLSTATE[23000]: Integrity constraint
violation: 1048 Le champ 'auteur' can't be empty
现在好多了。 非常感谢,我正在努力。
这是更正
let titre = document.getElementById('formTitre').value;
let auteur = document.getElementById('formAuteur').value;
let genre = document.getElementById('formGenre').value;
let annee = document.getElementById('formAnnee').value;
let image = document.getElementById('formImage').value;
let jsonArr = {
auteur: auteur,
genre: genre,
image: image,
annee: parseInt(annee),
titre: titre
};
console.log(titre);
console.log(JSON.stringify(jsonArr));
fetch(url, {
method: 'POST',
body: JSON.stringify(jsonArr),
headers:{
'Content-Type': 'application/json'
}
}).then(res => res.json())
.then(response => console.log('Success:', JSON.stringify(response)))
.catch(error => console.error('Error:', error));
非常感谢大家
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.