首先看在SpringMVC中利用Controller验证登陆并返回数据
@RequestMapping("/check")
@ResponseBody
public Object check(String username, String password) {
UserModel user = iUserService.getUserByUsername(username);
Map<String, String> map = new HashMap<>();
if (user != null && user.getPassword().equals(password)) {
map.put("status", "success");
map.put("msg", "User login success!");
map.put("username", username);
} else {
map.put("status", "failed");
map.put("msg", "User login failed!");
map.put("username", username);
}
return map;
}
其中使用了@ResponseBody
注解 , 返回值类型为Object , 该示例中构造Map作为返回数据.
再来看jsp页面中的请求代码
function login() {
var username = $("#username").val();
var password = $("#password").val();
$.post(
"http://127.0.0.1/login/check.do",
$("#loginForm").serialize(),
function (result) {
if (result.status == "success") {
alert(result.msg + result.username);
} else {
alert(result.msg + result.username);
}
},
"json");
}
其实用法很简单 , 使用 jquery 的 post 方法进行请求 , 在回调函数中传入参数 result , 这个result 就是Controller 中返回的 map 数据 , 只不过不需要使用 map.get( “key” ) 来获取封装的值 , 只需要简单的使用 result.key
即可得到在服务端封装的数据 , 是不是很方便呢 .