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. 20155306 《信息安全技术概论》实验二 Windows口令破解

    20155306 <信息安全技术概论>实验二 Windows口令破解 [实验目的] 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 [实验人数] 每组1 ...

  2. 【转载】OGRE中用到的设计模式

    原文:OGRE中用到的设计模式 1.       单例模式(Singleton) 2.       工厂方法(Factory Method)  3.       适配器模式(Adapter)  4.  ...

  3. 【BZOJ3197】[SDOI2013]刺客信条

    [BZOJ3197][SDOI2013]刺客信条 题面 bzoj 洛谷 题解 关于树的同构,有一个非常好的性质: 把树的重心抠出来,那么会出现两种情况: 1.有一个重心,那么我们直接把这个重心作为树的 ...

  4. Java 中的正则(Pattern)

    /**String 中 replaceAll(),matches(),split() 等方法,都是调用Pattern中的方法.学习了,瞬间觉得Pattern强大了 public String repl ...

  5. Lite OS学习之事件EVENT

    1. Lite OS的事件EVENT,就是一个任务向另外一个任务通知事件的,不能数据传输.看下有的函数,实际比较复杂 2. 具体还是看编程,先全局结构体整个事件变量 /*事件控制结构体*/ EVENT ...

  6. 洛谷1552 [APIO2012]派遣

    洛谷1552 [APIO2012]派遣 原题链接 题解 luogu上被刷到了省选/NOI- ...不至于吧 这题似乎有很多办法乱搞? 对于一个点,如果他当管理者,那选的肯定是他子树中薪水最少的k个,而 ...

  7. pg执行计划

  8. Unity Lighting - Emissive Materials 自发光材质(九)

      Emissive Materials 自发光材质 Whilst Area Lights are not supported by Precomputed Realtime GI, similar ...

  9. 微信小程序转换为百度小程序

    据粗略预估,微信小程序和百度小程序,有至少90%以上的相似代码,而且api的参数和返回的数据都是一致的,有一些不一致的将做如下介绍:.wxml文件,改成后辍名.swan.wxss文件,改成后辍名为.c ...

  10. Web全景图的原理及实现

    全景图的基本原理 全景图是一种广角图.通过全景播放器可以让观看者身临其境地进入到全景图所记录的场景中去.比如像是这个.这种看起来很高大上的效果其实背后的原理并不复杂. 通常标准的全景图是一张2:1的图 ...