En complément, pour ceux qui pourraient rencontrer le même problème que le mien, j'utilise $.ajaxpour publier des données de formulaire sur le serveur et j'ai également eu l' 400erreur au début.
Supposons que j'ai une variable javascript,
var formData = {
"name":"Gearon",
"hobby":"Be different"
};
N'utilisez pas de variable formDatadirectement comme valeur de clé datacomme ci-dessous:
$.ajax({
type: "post",
dataType: "json",
url: "http://localhost/user/add",
contentType: "application/json",
data: formData,
success: function(data, textStatus){
alert("Data: " + data + "\nStatus: " + status);
}
});
Utilisez plutôt JSON.stringify pour encapsuler les éléments formDataci-dessous:
$.ajax({
type: "post",
dataType: "json",
url: "http://localhost/user/add",
contentType: "application/json",
data: JSON.stringify(formData),
success: function(data, textStatus){
alert("Data: " + data + "\nStatus: " + status);
}
});
Quoi qu'il en soit, comme d'autres l'ont illustré, l'erreur est due au fait que le serveur n'a pas pu reconnaître la requête provoquant une syntaxe mal formée, je soulève simplement une instance à l'entraînement. J'espère que cela serait utile à quelqu'un.
Roman, ils ont juste besoin de vous payer plus :)