真是个简单不注意就犯错的大坑
解决方案:ajax提交请求的json"name"必须和自定义类字段相同才能通过@RequestBody注解成功获取到
@RequestBody主要用来接收前端传递给后端Post请求的json字符串中的数据的(请求体中的数据的);
js代码如下:
$.ajax({
type: "POST",
url: "/register/success",
contentType: 'application/json',
data: JSON.stringify({//JSON.stringify()将JavaScript对象转换为字符串
"name": username,
"phone": phone,
"pwd": password
}),
success: function (response) {
alert("注册成功,请牢记账号密码")
},
dataType: "json"
});
Controller代码如下:
@ResponseBody
@RequestMapping(value = "/register/success",method = RequestMethod.POST)
public Object registerUser(@RequestBody User user) {
Map<Object, Object> objectObjectMap = new HashMap<>();
objectObjectMap.put("a",user.toString());
return objectObjectMap;
}