httpリクエストを介してJavaScriptオブジェクトを送信するのに問題があります。http endpoingは、json content-type( "application/json"または"text/ json")のみを受け入れます。
data2(文字列化されたjson)が正常に機能する理由はわかりませんが、data1(jsonオブジェクト)はhttp 400BadRequestをスローします。つまり、jQueryがjsonオブジェクトをサーバーが処理するための有効なjson文字列にシリアル化しないのはなぜですか。
var data1 = ({ rating : 3 }); //does not work
var data2 = '{ "rating" : 3}'; //works fine
$.ajax({
url : "/rate",
data : data1,
type : "POST",
contentType: "application/json",
success: function(json){
console.log("Ajax Return :"+json);
}
});