次の jQuery AJAX リクエストがあります。
// collect form data and create user obj
var user = new User();
user.firstname = $("#usrFirstName").val();
user.lastname = $("#usrSurname").val();
user.role = $("#usrRole").val();
// actual ajax request
$.ajax({
type: 'POST',
url : 'http://awesome-url',
crossDomain: true,
data: user,
contentType:"application/json; charset=utf-8",
dataType: 'json'
}).done(function(data, status) {
alert(JSON.stringify(data));
}).fail(function(data, status) {
alert(status);
alert(JSON.stringify(data));
});
サーバーからの応答は次のとおりです。
"status":400,"statusText":"Bad Request"
"クライアントから送信された要求は構文的に正しくありませんでした。"
サーバーはSpring-MVCを実行しています。しかし、私が知る限り、それは正しく機能しています。Postman と次の構成で手動でリクエストを送信している場合は機能するためです。
ヘッダ:
Content-Type application/json; charset=utf-8
コンテンツ:
{"firstname":"alex","lastname":"lala","role":"admin"}
これはクロスドメイン リクエストであることに言及する必要があります (開発中は、後でサーバーと同じドメインでホストされます)。ブラウザーでセキュリティ設定を無効にしましたが、サーバーへの AJAX 要求は正常に機能しています (データを送信する必要がない限り)。