Jako uzupełnienie, dla tych, którzy mogą napotkać ten sam problem, co mój, używam $.ajax
do wysyłania danych formularza na serwer, a także na początku dostałem 400
błąd.
Załóżmy, że mam zmienną javascript,
var formData = {
"name":"Gearon",
"hobby":"Be different"
};
Nie używaj zmiennej formData
bezpośrednio jako wartości klucza, data
jak poniżej:
$.ajax({
type: "post",
dataType: "json",
url: "http://localhost/user/add",
contentType: "application/json",
data: formData,
success: function(data, textStatus){
alert("Data: " + data + "\nStatus: " + status);
}
});
Zamiast tego użyj JSON.stringify do enkapsulacji formData
jak poniżej:
$.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);
}
});
W każdym razie, jak pokazali inni, błąd polega na tym, że serwer nie mógł rozpoznać żądania powodującego zniekształconą składnię, po prostu zgłaszam wystąpienie w praktyce. Mam nadzieję, że komuś się przyda.
Roman
, muszą po prostu zapłacić więcej :)