jQUERY AJAX POST を使用してスプリング コントローラーをヒットできません。JSON 応答を使用して文字列のリストを取得しようとしています。
ドロップダウンが選択されたときに呼び出される私のjavascript関数:
function doAjaxPost() {
var name = $('#selected_report').val();
alert("POST Ajax request initiating.... name : " + name);
$.ajax({
type: "POST",
url: "/NewILR/interfaceReportsSearch/findEntityTypes",
contentType: "application/json",
data: JSON.stringify({selectedReport:name}),
dataType: "text",
success: function(response){
if(response.status == "SUCCESS"){
alert("SUCCESS");
}else{
alert("FAILURE");
}
},
error: function(e){
alert('Error: ' + e);
}
});
}
注上記のアラートのうち 2 つが表示されます (POST Ajax request initiating... および 'Error: ' + e))。
AJAX リクエストを処理する Spring コントローラー:
@RequestMapping (value="/interfaceReportsSearch/findEntityTypes",method=RequestMethod.POST, produces = "application/json")
public @ResponseBody JsonResponse addUser(@RequestBody String selectedReport , BindingResult result ){
System.out.println("Ajax Request Received! reportName = " + selectedReport);
上記の print ステートメントは実行されないことに注意してください。また、単一のコンソール出力も表示されません。リクエストがサーバーに届かない可能性があります。
サーブレット構成に特別な Bean は追加されていませんが、以下の 2 つが追加されています。
<mvc:annotation-driven />
<context:annotation-config/>
次のjarがクラスパスに追加されます。
jackson-core-2.2.0
jackson-annotations-2.2.0
jackson-databind-2.2.0
アップデート
解決済み: データ型を json に変更しました