Java Web编程入门--SpringMVC AJAX参数

时间:2022-10-07 12:26:22

1、采用@RequestParam或Request对象获取参数的方法

注:contentType必须指定为:application/x-www-form-urlencoded

    @ResponseBody
@RequestMapping(value
= "/insert", method = RequestMethod.POST)
public HttpResult insert(HttpServletRequest request) {
// @RequestParam("LoginName") String LoginName
HttpResult result = new HttpResult();
Users users
= new Users();
users.setUserId(
4);
users.setRoleId(Integer.parseInt(request.getParameter(
"RoleId")));
users.setLoginName(request.getParameter(
"LoginName"));
users.setLoginPassword(
"123456");
users.setUserName(request.getParameter(
"UserName"));
users.setMobilePhone(request.getParameter(
"MobilePhone"));
users.setEmail(request.getParameter(
"Email"));
users.setIsActive(
"0");
users.setOrgId(Integer.parseInt(request.getParameter(
"OrgId")));
SimpleDateFormat df
= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
users.setCreateTime(df.parse(df.format(new Date()),new ParsePosition(0)));

int i = this.userService.insertSelective(users);
if(i>0){
result.setState(ResultType.success.toString());
result.setMessage(
"数据插入成功!");
}
else{
result.setState(ResultType.error.toString());
result.setMessage(
"数据插入失败!");
}
return result;
}

ajax代码

                $.ajax({
url:
'../user/insert',
type:
'POST',
// data: JSON.stringify({
//
"loginName": $('#inputLoginName').val(),
//
"userName": $('#inputUserName').val(),
//
"mobilePhone": $('#inputMobilePhone').val(),
//
"email": $('#inputEmail').val(),
//
"roleId": $('#selectRole').val(),
//
"orgId": $('#selectOrg').val()
//
}),
data: {
LoginName: $(
'#inputLoginName').val(),
UserName: $(
'#inputUserName').val(),
MobilePhone: $(
'#inputMobilePhone').val(),
Email: $(
'#inputEmail').val(),
RoleId: $(
'#selectRole').val(),
OrgId: $(
'#selectOrg').val()
},
contentType:
'application/x-www-form-urlencoded',
// contentType: 'application/json',
dataType: "json",
success:
function (result) {
alert(result.message);
$(
"#myModal").modal("hide");
oTable.fnDraw();
},
error:
function (err) {
alert(
"error");
}
});

2、@RequestBody 接收对象

注:contentType为application/json

    @ResponseBody
@RequestMapping(value
= "/insert", method = RequestMethod.POST)
public HttpResult insert(@RequestBody Users users) {
HttpResult result
= new HttpResult();

int i = this.userService.insertSelective(users);
if(i>0){
result.setState(ResultType.success.toString());
result.setMessage(
"数据插入成功!");
}
else{
result.setState(ResultType.error.toString());
result.setMessage(
"数据插入失败!");
}
return result;
}

ajax请求

                $.ajax({
url:
'../user/insert',
type:
'POST',
data: JSON.stringify({
"loginName": $('#inputLoginName').val(),
"userName": $('#inputUserName').val(),
"mobilePhone": $('#inputMobilePhone').val(),
"email": $('#inputEmail').val(),
"roleId": $('#selectRole').val(),
"orgId": $('#selectOrg').val()
}),
contentType:
'application/json',
dataType:
"json",
success:
function (result) {
alert(result.message);
$(
"#myModal").modal("hide");
oTable.fnDraw();
},
error:
function (err) {
alert(
"error");
}
});

参考博客: SpringMVC Ajax 获取参数的方法

参考博客:Spring MVC无法获取ajax POST的参数和值

参考博客:@RequestBody和@ResponseBody的简单使用接收JSON(接收json数据)

详解,参考博客:@RequestBody, @ResponseBody 注解详解(转)

注:JavaScript对象变量对应pojo对象私有变量