@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
}字符串