$.ajax({
url : CONTEXT_PATH + "/login/check.do",
type : 'post',
dataType : 'json',
contentType: "application/json;charset=utf-8",
data : JSON.stringify(data),
success : function(data) {
if (data.resCd == 0) {
window.location.href = CONTEXT_PATH + "/user/index.do";
} else {
alert(data.resMsg);
}
},
error : function() {
alert("获取数据失败");
}
});
@RequestMapping("/check.do")
@ResponseBody
public Parameter check(@RequestBody User u, HttpServletRequest request) {
Parameter parameter = new Parameter();
if (loginService.check(u)) {
HttpSession session = request.getSession();
User user = loginService.getByLoginId(u);
session.setAttribute("user", user);
loginService.assertTime(user);
return parameter;
}
parameter.setResMsg("用户名或密码错误!");
parameter.setResCd(1);
return parameter;
}
//总结:
1.ajax中的contentType最好带上
2.ajax中data,用JSON.stringify()序列化
3.controller中参数用@requestBody修饰
否则,spring可能无法匹配这些参数,有时可以,有时不可以