这是我的弹簧控制器
@RequestMapping(value = "/app/{appId}/save.html",method=RequestMethod.POST)
public @ResponseBody String myFunction
(@PathVariable("appId") String id, @RequestBody Map<String, String> data1) {
return "hello";
}
这是我的ajax请求
$.ajax({
type : 'POST',
url : '/app/${param.appID}/save.html',
data : JSON.stringify(myJsonData),
dataType : "json",
success : function(data, textStatus,
xhr) {
var response = xhr.responseText;
if (response !== "hello") {
alert('sad');
} else {
alert('happy');
}
}
});
问题是,这个请求永远不会到达控制器并被卡住。 如果我删除数据和数据1,一切正常。有些人可以帮助我解决我的错误。
更新:这是firebug所显示的错误
415不支持的媒体类型:服务器拒绝了此请求,因为请求实体的格式不受所请求方法所请求资源的支持()
这是我的json对象
myJsonData= {
"data1" : $("input[name=key1]:checked").val(),
"data2" : $("input[name=key2]:checked").val(),
"data3" : $("input[name=key3]:checked").val()
};
答案 0 :(得分:0)
JSON.stringify
没有必要。
data : myJsonData,
就够了。
答案 1 :(得分:0)
尝试在consumes="application/json"
@RequestMapping