Я проверил свой web.xml и spring-servlet.xml, ничего страшного, что я могу найти. Затем я проверил свой контроллер и .ajax(), но все еще не могу понять ничего плохого. Я пробую JSON.stringify
, @RequestParam
, добавив json handler
в spring-servlet.xml
. Даже изменил @RequestBody
на @RequestBody(required = false)
. Ни один из них не работал и до сих пор получаю сообщение:Контроллер не может получать JSON от JQuery.ajax
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";
}
Мой Аякса:
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")
}
});
}
Я попытался решить эту проблему самостоятельно, но все еще не может понять.
Спасибо за вашу помощь. Я попробовал ваш метод и добился успеха. –