SpringMVC Ajax两种传参方式
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两种传参方式的更多相关文章
- Vue中router两种传参方式
Vue中router两种传参方式 1.Vue中router使用query传参 相关Html: <!DOCTYPE html> <html lang="en"> ...
- vue param和query两种传参方式
1.传参方式 query传参方式 this.$router.push({ path: "/home", query: {code:"123"} }) param ...
- 四:flask-URL两种传参方式(路径传参和get传参)
新建一个视图 第一种:路径传参:url/参数:<参数名>,然后再视图函数中接收参数 也可以指定数据类型 string:默认使用此数据类型,接收没有任何斜杠"\/"的文本 ...
- vue的param和query两种传参方式及URL的显示
路由配置: // 首页 { path: '/home', name:'home', component:Home }, // 行情 { path: '/markets', name:'market', ...
- SpringBoot——两种传参方式
?传参 举例:http://localhost:8082/news/asset/getDatas?page=1&keyWord=123&year=2020 注解:@RequestPar ...
- MyBatis两种传参方式的区别
$与#的区别 select * from T_PRINT_LAYOUT where D_RECID = ${recId} 最后生成的SQL为: select * from T_PRINT_LAYOUT ...
- python 计算机发展史,线程Process使用 for循环创建 2种传参方式 jion方法 __main__的解释
########################总结################## #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬 ...
- Mybatis的几种传参方式,你了解吗?
持续原创输出,点击上方蓝字关注我 目录 前言 单个参数 多个参数 使用索引[不推荐] 使用@Param 使用Map POJO[推荐] List传参 数组传参 总结 前言 前几天恰好面试一个应届生,问了 ...
- PHP四种传参方式
test1界面: <html> <head> <title>testPHP</title> <meta http-equiv = "co ...
随机推荐
- 20155320《Java程序设计》实验一(Java开发环境的熟悉)实验报告
20155320<Java程序设计>实验一(Java开发环境的熟悉)实验报告 实验内容及步骤 (一)命令行下Java程序开发 步骤一:首先在cmd中输入d:和cd ljq20155320进 ...
- SublimeText 改变 tab的距离
view -> Indentation -> Tab width ……
- struts常用知识
一,struts2是什么? struts2是一个控制框架,相当于连接底层和显示层,控制页面和数据展示 二,为什么用struts2? jsp+javabean模式:jsp里的小脚本java代码太多,页面 ...
- MySQL 安装 + Windows7
Window版本 1.下载 http://dev.mysql.com/downloads/mysql/ 2.解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:D:\m ...
- 数据结构思维导图 Part1
刚刚结束数据结构的学习,在复习阶段,所以做来思维导图总结一下. 思维导图,顾名思义是应该有对思维有引导作用的,就像思维的整理术,然而想要学好什么,光看思维导图总是不够的. 树与图作为两个复杂非线性结构 ...
- itop4412学习-上层应用多任务开发
1. 首先搭建虚拟机VMWARE12.0+UBUNTU16.04,不过报错了,说是要关闭计算机(非重启)-- 进入BIOS -- 设置BIOS的虚拟化(不打开,默认是工作在32位模式的,virtual ...
- DSP5509项目之用FFT识别钢琴音调(2)
1. 本节主要是学习TLV320AIC32这个音频芯片,Easy5509 开发板上有一个语音编解码芯片 TLV320AIC23.TLV320AIC23 是一个高性能的多媒体数字语音编解码器,它的内部 ...
- 原生android(二)——认识activity
一.activity的生命周期 1.onCreate():在活动第一次被创建的时候调用,用来完成活动的初始化操作,如加载布局.绑定事件等 2.onStart():在活动由不可见变为可见时被调用 3.o ...
- 创建第一个Scrapy项目
d:进入D盘 scrapy startproject tutorial建立一个新的Scrapy项目 工程的目录结构: tutorial/ scrapy.cfg # 部署配置文件 tutorial/ # ...
- [network]交换机中用户权限
LEVEL 0(访问级):可以执行用于网络诊断等功能的命令.包括ping.tracert.telnet等命令,执行该级别命令的结果不能被保存到配置文件中. LEVEL 1(监控级):可以执行用于系统维 ...