我无法使用 jQUERY AJAX POST 访问我的 spring 控制器。我正在尝试使用 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);
}
});
}
注意显示了上述两个警报(POST Ajax 请求正在启动...和“错误:”+ e))
Spring Controller 处理 AJAX 请求:
@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);
注意上面的打印语句永远不会执行。我也没有看到单个控制台输出,也许请求没有到达服务器。
servlet 配置中没有添加特殊的 bean,但我添加了以下两个:
<mvc:annotation-driven />
<context:annotation-config/>
以下 jar 被添加到我的类路径中。
jackson-core-2.2.0
jackson-annotations-2.2.0
jackson-databind-2.2.0
更新
已解决:将数据类型更改为 json