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对象私有变量

SpringMVC Ajax两种传参方式的更多相关文章

  1. Vue中router两种传参方式

    Vue中router两种传参方式 1.Vue中router使用query传参 相关Html: <!DOCTYPE html> <html lang="en"> ...

  2. vue param和query两种传参方式

    1.传参方式 query传参方式 this.$router.push({ path: "/home", query: {code:"123"} }) param ...

  3. 四:flask-URL两种传参方式(路径传参和get传参)

    新建一个视图 第一种:路径传参:url/参数:<参数名>,然后再视图函数中接收参数 也可以指定数据类型 string:默认使用此数据类型,接收没有任何斜杠"\/"的文本 ...

  4. vue的param和query两种传参方式及URL的显示

    路由配置: // 首页 { path: '/home', name:'home', component:Home }, // 行情 { path: '/markets', name:'market', ...

  5. SpringBoot——两种传参方式

    ?传参 举例:http://localhost:8082/news/asset/getDatas?page=1&keyWord=123&year=2020 注解:@RequestPar ...

  6. MyBatis两种传参方式的区别

    $与#的区别 select * from T_PRINT_LAYOUT where D_RECID = ${recId} 最后生成的SQL为: select * from T_PRINT_LAYOUT ...

  7. python 计算机发展史,线程Process使用 for循环创建 2种传参方式 jion方法 __main__的解释

    ########################总结################## #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬 ...

  8. Mybatis的几种传参方式,你了解吗?

    持续原创输出,点击上方蓝字关注我 目录 前言 单个参数 多个参数 使用索引[不推荐] 使用@Param 使用Map POJO[推荐] List传参 数组传参 总结 前言 前几天恰好面试一个应届生,问了 ...

  9. PHP四种传参方式

    test1界面: <html> <head> <title>testPHP</title> <meta http-equiv = "co ...

随机推荐

  1. Linux入门进阶第四天(下)——程序管理(补充内容)

    1.PID 触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系,给予这个 PID 一组有效的权限设置. 同一个程序 ...

  2. 20155301 《Java程序设计》实验二实验报告

    20155301 <Java程序设计>实验二实验报告 一.单元测试和TDD 用程序解决问题时,要学会写以下三种代码: 伪代码 产品代码 测试代码 正确的顺序应为:伪代码(思路)→ 测试代码 ...

  3. 微信小程序点击事件

    <---------------------------------------------------index文件夹:------------------------------------ ...

  4. day8 RHCE

    12 .实现一个 web 服务器在server0上配置一个站点http://server0.example.com,然后执行以下步骤: 从http://classroom.example.com/ma ...

  5. Zabbix学习之路(三)之使用SMTP发送邮件报警及定制邮件报警内容

    1.设置邮件报警的思路 (1)设置触发器(Trigger)-->触发后需要执行的动作(Action) 触发器使用逻辑表达式来评估通过 item 获取到得数据是处于哪种状态.在触发器表达式中我们可 ...

  6. 快读板子fread

    struct ios { inline char read(){ <<|; static char buf[IN_LEN],*s,*t; ,IN_LEN,stdin)),s==t?-:*s ...

  7. 移动端车牌识别/车牌OCR识别

    周末,小编约了朋友商场shopping. 开车进地下车库时,“滴”的一声,完成车牌录入:开车离开时,扫描二维码,输入车牌,完成停车收费.小编不禁感叹科技改变生活,人工智能给生活带来的便利. 车牌自动识 ...

  8. 第七章移动互联网与移动IP

    第七章移动互联网与移动IP 本章延续前几章节,对该章节内容进行归纳总结. 文章中的Why表示产生的背景,也就是说为什么会产生该技术,What表示该技术是什么,How表示该技术是如何使用的.以下将用字母 ...

  9. Android手机测试-ddms&monitor-抓crash,log

    1.安装adb offline解决办法: 原因就是android 4.2以上的版本过高,sdk的adb驱动不匹配,需要升级.我原本的adb是1.0.29,升级为1.0.31,问题就解决了. 2.安装s ...

  10. selenium+python 搭建自动化环境

    一.以搭建windows平台为例 准备工具如下: 1)下载Python 2)安装,配置环境变量 3)安装selenium,通过pip安装,命令如下:  pip install selenium 方式二 ...