@RequestBody接收的是一個Json對象的字符串,而不是一個Json對象,可是ajax請求每每傳的都是Josn對象!網上查了資料才知道:用 JSON.stringify(data)的方式就能將對象變成字符串。同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" 。web
實例代碼:
ajax
1. 前臺Javascriptjson
var studentData={
"name" : name,
"password" : password
}
$.ajax({
type : "POST",
url : "${pageContext.request.contextPath}/web/login",
dataType : "json",
contentType:"application/json",
data:JSON.stringify(studentData),
success : function(data) {
if (data.result!=null) {app
} else {
return false;
}
},
error : function(data) {
alert(data.msg);
}
});
url
2.後臺代碼:spa
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public MobileReturn<Head> login(HttpServletRequest request,
@RequestBody Student student) {對象
System.out.println("name:" + student.getName() + " password:"
+ student.getPassword());ip
}字符串