私は私のコントローラからstring response
を取得しようとしているが、私は以下のエラーを取得:Javaの - @ResponseBodyのString - エラー200
SyntaxError: Unexpected end of JSON input(…) "Error 200"
私はブールまたは異なるタイプへの応答を変更すると、それはだがうまく働いている。問題は、文字列を返そうとするときです。
JSコード:
$.ajax({
method: "POST",
url: "./signup",
data: _data,
dataType: "json",
contentType : "application/json;charset=UTF-8",
success : function(data) {
console.log(data)
},
error : function(qXHR, textStatus, errorThrown){
console.log(errorThrown, "Error " + qXHR.status);
}
});
コントローラコード:
@RequestMapping(value = "/signup", method = RequestMethod.POST, produces = {"text/plain", "application/*"})
public @ResponseBody String signup(@RequestBody UserSignup details) {
//...
return message;
}
どのように私はこの問題を解決することができます任意のアイデア?私はいくつかのことを試みたが、何も働かなかった。私は、コードが期待しているように応答形式が間違っていると思います。
編集
私は自分のコードを変更した(produces
を削除)が、私はまだ同じエラーを取得:
SyntaxError: Unexpected end of JSON input(…) "Error 200"
@RequestMapping(value = "/signup", method = RequestMethod.POST)
public @ResponseBody String signup(@RequestBody UserSignup details) {
message = "ok";
}
return message;
}
:ブラウザで
応答例それでも同じエラーが発生します。 @cralfaro – gon250
@ gon250あなたは現在テストしているデータで質問を更新してください。とエラーメッセージ?あなたと同じポイントで更新されるだけです – cralfaro
私は新しいコードを追加しました。基本的に私は生産物を取り除きました。私はストリングを返すようにしています。 – gon250