【发布时间】:2016-08-12 08:31:58
【问题描述】:
我检查了我的 web.xml 和 spring-servlet.xml,没有发现任何错误。然后我检查了我的 Controller 和 .ajax(),但仍然无法找出任何问题。我尝试JSON.stringify,@RequestParam,在spring-servlet.xml 中添加json handler。甚至将@RequestBody 更改为@RequestBody(required = false)。他们都没有工作,仍然收到此消息:
org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.handleHttpMessageNotReadable Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public java.lang.String com.Test.Controller.Login.login(com.Test.Model.User)
这是我的控制器:
@RequestMapping(value = "/main", method = RequestMethod.GET)
public String login (@RequestBody User user) {
boolean result = userSer.login(user);
if (result)
return "success";
else
return "fail";
}
我的 ajax:
function login() {
//I can read the value in chrome's debug.
var user = {
"username": $("#username").val(),
"password": $("#password").val()
};
$.ajax( {
url: "/login/main",
type: "GET",
dataType: "json",
//contentType:"application/json",
data: JSON.stringify(user),
success: function () {
alert("success")
},
error: function () {
alert("fail")
}
} );
}
我已经尝试自己解决这个问题,但仍然无法弄清楚。
【问题讨论】: