java ajax提交form表单提交_form表单AJAX提交(四种方法)
一、AJAX的 form表单提交
1、第一种: 序列化提交$(’#form’).serialize()
前台:
$.ajax({
url: "",
type: "post",
dataType: "json",
data: {
data : $('#form').serialize()
},
success: function (result) {
}
})
后台:
可以用实体类接收(实体类参数必须大小写严格一致)。也可以把所有前台name传值,挨个写在参数里面。
传递的参数形式为:name=1&pwd=2&email=3&phone=4
@ResponseBody
@RequestMapping("/form")
public Msg form(User user){
userDao.insert(user); // 添加一条信息
}
2、第二种: 以对象形式传到后台$(’#form’).serializeObject()
前提,还要自己编写一个方法,用于序列化表单传输:
//定义serializeObject方法,序列化表单
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
}
前台:
JSON.stringify()的作用是将 JavaScript 对象转换为 JSON 字符串
var form = $('#form').serializeObject();
$.ajax({
url: "",
type: "post",
dataType: "json",
data: {
data : JSON.stringify(form)
},
success: function (result) {
}
})
后台:
这是一篇讲解ObjectMapper使用,jackson-databind,用于字符串和json、对象、集合互相转换使用的。
@ResponseBody
@RequestMapping("/data")
public Msg form(String data){
ObjectMapper jackson = new ObjectMapper(); // 实例化ObjectMapper
User user = jackson.readValue(formVal, User.class); // 将字符串转换成对象
userDao.insert(user); // 添加一条信息
}
3、第三种:JSON.stringify($("#form").serializeJSON()
– -- 引入 jquery.serializejson.min.js
前台:
$.ajax({
url: "",
type: "post",
dataType: "json",
data: {
data : JSON.stringify($("#form").serializeJSON()
},
success: function (result) {
}
})
后台:
@ResponseBody
@RequestMapping("/data")
public Msg form(String data){
ObjectMapper mapper = new ObjectMapper();
@SuppressWarnings("unchecked")
Map map = mapper.readValue(data, Map.class);
userDao.insert(user); // 添加一条信息
}
4、第四种:$(’#form’).getJsonData()
– 引入 jquery.serializeExtend-1.0.1.js
前台:
$.ajax({
url: "",
type: "post",
dataType: "json",
data: {
data : $('#form').getJsonData()
},
success: function (result) {
}
})
后台:
@ResponseBody
@RequestMapping("/data")
public Msg form(String data){
ObjectMapper jackson = new ObjectMapper(); // 实例化ObjectMapper
User user = jackson.readValue(formVal, User.class); // 将字符串转换成对象
userDao.insert(user); // 添加一条信息
}
java ajax提交form表单提交_form表单AJAX提交(四种方法)相关推荐
- java indexof 子字符串_Java中字符串中子串的查找共有四种方法(indexof())
Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现的指定子字符串在此 ...
- java字符串为空抛出异常_Java 判断字符串是否为空的四种方法,及效率比较。
以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: ...
- 网页表单文本框的自动填写(四种方法)
随着应用系统从客户端+服务器模式,逐渐发展成浏览器+服务器模式.越来越多的操作是基于浏览器来完成的,在输入数据时可以方便的使用批量操作工具,提高工作效率. 在使用浏览器自动填写网页表单时,遇到最多的就 ...
- mvc ajax提交html标签,Mvc提交表单的四种方法全程详解
Mvc提交表单的四种方法全程详解 2019-01-05 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了Mvc提交表单的四种方法全程详解,编程之家小编觉得挺不错的 ...
- java并发编程基础系列(五): 创建线程的四种方式
线程的创建一共有四种方式: 继承于Thread类,重写run()方法: 实现Runable接口,实现里面的run()方法: 使用 FutureTask 实现有返回结果的线程 使用ExecutorSer ...
- Java创建并执行线程的四种方法
Java创建并执行线程的四种方法 java里面创建线程有四种方式: 无返回: 实现Runnable接口,重写run(); 继承Thread类,重写run(); 有返回: 实现Callable接口,重写 ...
- java 中lock,java中lock获取锁的四种方法
在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...
- 详解Java解析XML的四种方法
http://developer.51cto.com 2009-03-31 13:12 cnlw1985 javaeye 我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...
- Java 判断字符串是否为空的四种方法、优缺点与注意事项
以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: ...
- Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表、修改表,以及增、删、改、查)之详细攻略
Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表.修改表,以及增.删.改.查)之详细攻略 目录 一.两种方法建立表.修改表,插入多条数据记录 ...
最新文章
- C语言函数集(十一)
- Apollo分布式配置中心部署以及使用
- 模拟noj——打扑克
- nchar,char,varchar与nvarchar区别
- c语言题库325,2012年二级C语言笔试模拟325
- 高擎信息安全大旗,打造“互联网+”新服务模式
- C++与Rust变量声明的比较
- 字符串的首地址做形参不能将变化传递回主函数
- ArcMAP问题集锦(一)
- 完美破解nbsp;iPhone“一键解锁”新手教程
- SQL Server 2008 R2安装
- 51单片机采用ADC0808检测ADC_LCD1602显示
- YApi接口平台-接口挡板
- 甲骨文裁员的屠刀最终砍向了西雅图
- androidstudio身高预测app
- c语言程序设计第二张答案,自学考试《C语言程序设计》习题及答案_第2页
- Python漫画爬虫开源 66漫画 AJAX,包含数据库连接,图片下载处理
- 初识Grad-CAM
- 为何贩卖焦虑的文章如此受欢迎???
- 毕业设计 - 银行柜员业务绩效考核系统的设计与实现【源码+论文】
热门文章
- mysql字符串比较日期_比较MySQL中的日期字符串
- 【计算机毕业设计】基于微信小程序的民宿预订系统
- python c++情侣网名含义_集Python、C++、R为一体的语言,她是?
- 我写了 ahooks 源码分析系列,收到官方邀请我一起维护,这是一次提 PR 的记录...
- Jetson tx2刷机指南及gparted扩容全踩坑实录
- 企业里最重要的“自燃人”
- 计算机系统结构:指令的动态调度-记分牌算法
- css3摇骰子,css3骰子(transform初识)
- js基础总结——js 获取元素节点、js 绑定onclick事件、js 获取属性 修改属性值、js 获取子元素、js 改变css样式
- Python爬虫实战:网易云音乐爬取!