0
いくつかのJSONデータでバックエンドにPOSTリクエストを送信しようとしています。フロントエンドからの呼び出しは次のようになります。結構ですPlay Frameworkを使用してAjaxリクエストからPOST本体を受け取ることができません
{"username":"jakob","password":"11111","referal":"urgotislove"}
:
function register() {
var user = $("#form_reg_username").val();
var pass = $("#form_reg_password").val();
var referal = $("#form_reg_referal").val();
var postbody = {};
var url = "http://" + location.host + "/api/admin/register";
postbody.username = user;
postbody.password = pass;
postbody.referal = referal;
var jsonbody = JSON.stringify(postbody);
console.log(jsonbody);
$.ajax({
type: "POST",
url: url,
data: jsonbody,
dataType: "json",
success: registerHandler()
});
}
生成されたログは、次のようになります。ここで
は、私がバックエンドでリクエストを処理する方法の開始(私は2.4を果たし使用しています)public Result adminRegister() {
// Generate JSON from postbody
ObjectNode json = Json.newObject();
Logger.info("Body: " + request().body().asText());
JsonNode body = request().body().asJson();
String username = body.get("username").asText();
String password = body.get("password").asText();
String referal = body.get("referal").asText();
...
}
が自分のアプリケーションを見ているログ情報のログは次のようになります。
[info] application - Body: null
私はその後、json値を取得しようとする最初の行でNullpointer例外を取得しています。
何らかの理由で、POST本体が正しく受信されなかったようです。
ご協力いただきありがとうございます。
。あなたのAjaxリクエストに 'postbody'を送るだけです。また、ブラウザ開発者ツールを使用してサーバーに送信されたAjaxリクエストを確認すると、送信されたリクエストが良好であることを確認できますか? – c4k
私の見ているところでは、要求はよく見えます。また、同じペイロードを手動で作成したPOSTリクエストを送信しようとしたところ、同じアプリケーションログになってしまったので、問題はバックエンドとはまったく異なります。 –