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. 20155311《Java程序设计》实验五(网络编程与安全)实验报告

    20155311<Java程序设计>实验五(网络编程与安全)实验报告 一.实验内容及步骤 任务一: 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上面 ...

  2. NetWork——关于HTTP、HTTPS的知识总结

    . )根据用户的当前的网络质量来判断下载什么质量的图片. 最后,如果觉得有所收获,请点下面的赞多多支持~谢谢各位

  3. Hibernate框架用法

    一,Hibernate框架介绍 没有Hibernate之前,使用jdbc来连接数据库时,需要反射加载驱动,再获取连接 在连接上获取sql承载块,传入sql语句执行,获取结果集,解析结果 Hiberna ...

  4. 【BZOJ3142】[HNOI2013]数列

    [BZOJ3142][HNOI2013]数列 题面 洛谷 bzoj 题解 设第\(i\)天的股价为\(a_i\),记差分数组\(c_i=a_{i+1}-a_i\) 则 \[ Ans=\sum_{c_1 ...

  5. 拼多多商品id怎么查看 拼多多店铺ID怎样看

    网上开店平台有很多编号.id等可以区分商品和店铺的标志,拼多多有店铺id也有商品id,这是两个不同的概念,店铺id进入到拼多多店铺即可查询,拼多多商品id怎么查看 拼多多店铺ID怎样看,那么拼多多商品 ...

  6. 基础SQL语句学习

    (注:sql对大小写不敏感,附:命令行操作:cd 目录名 可进入文件,cd .. 可返回上级木目录) 下载MySQL,并配置环境变量: 使用命令行操作数据库(也可下载navicat操作),输入mysq ...

  7. windows下sublime text的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  8. Spring学习(1):侵入式与非侵入式,轻量级与重量级

    一. 引言 在阅读spring相关资料,都会提到Spring是非侵入式编程模型,轻量级框架,那么就有必要了解下这些概念. 二. 侵入式与非侵入式 非侵入式:使用一个新的技术不会或者基本不改变原有代码结 ...

  9. Seven super tips for successful selling on Amazon

    Check for orders daily: To ship quickly you need to find out about orders promptly. We will e-mail y ...

  10. 20181023-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 01

    作业要求:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2383] 版本控制:[https://git.coding.net/lglr2 ...