Jako uzupełnienie, dla tych, którzy mogą napotkać ten sam problem, co mój, używam $.ajaxdo wysyłania danych formularza na serwer, a także na początku dostałem 400błąd.
Załóżmy, że mam zmienną javascript,
var formData = {
"name":"Gearon",
"hobby":"Be different"
};
Nie używaj zmiennej formDatabezpośrednio jako wartości klucza, datajak 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 formDatajak 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 :)