一、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提交(四种方法)相关推荐

  1. java indexof 子字符串_Java中字符串中子串的查找共有四种方法(indexof())

    Java中字符串中子串的查找共有四种方法(indexof()) Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现的指定子字符串在此 ...

  2. java字符串为空抛出异常_Java 判断字符串是否为空的四种方法,及效率比较。

    以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: ...

  3. 网页表单文本框的自动填写(四种方法)

    随着应用系统从客户端+服务器模式,逐渐发展成浏览器+服务器模式.越来越多的操作是基于浏览器来完成的,在输入数据时可以方便的使用批量操作工具,提高工作效率. 在使用浏览器自动填写网页表单时,遇到最多的就 ...

  4. mvc ajax提交html标签,Mvc提交表单的四种方法全程详解

    Mvc提交表单的四种方法全程详解 2019-01-05 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了Mvc提交表单的四种方法全程详解,编程之家小编觉得挺不错的 ...

  5. java并发编程基础系列(五): 创建线程的四种方式

    线程的创建一共有四种方式: 继承于Thread类,重写run()方法: 实现Runable接口,实现里面的run()方法: 使用 FutureTask 实现有返回结果的线程 使用ExecutorSer ...

  6. Java创建并执行线程的四种方法

    Java创建并执行线程的四种方法 java里面创建线程有四种方式: 无返回: 实现Runnable接口,重写run(); 继承Thread类,重写run(); 有返回: 实现Callable接口,重写 ...

  7. java 中lock,java中lock获取锁的四种方法

    在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...

  8. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  9. Java 判断字符串是否为空的四种方法、优缺点与注意事项

    以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: ...

  10. Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表、修改表,以及增、删、改、查)之详细攻略

    Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表.修改表,以及增.删.改.查)之详细攻略 目录 一.两种方法建立表.修改表,插入多条数据记录 ...

最新文章

  1. C语言函数集(十一)
  2. Apollo分布式配置中心部署以及使用
  3. 模拟noj——打扑克
  4. nchar,char,varchar与nvarchar区别
  5. c语言题库325,2012年二级C语言笔试模拟325
  6. 高擎信息安全大旗,打造“互联网+”新服务模式
  7. C++与Rust变量声明的比较
  8. 字符串的首地址做形参不能将变化传递回主函数
  9. ArcMAP问题集锦(一)
  10. 完美破解nbsp;iPhone“一键解锁”新手教程
  11. SQL Server 2008 R2安装
  12. 51单片机采用ADC0808检测ADC_LCD1602显示
  13. YApi接口平台-接口挡板
  14. 甲骨文裁员的屠刀最终砍向了西雅图
  15. androidstudio身高预测app
  16. c语言程序设计第二张答案,自学考试《C语言程序设计》习题及答案_第2页
  17. Python漫画爬虫开源 66漫画 AJAX,包含数据库连接,图片下载处理
  18. 初识Grad-CAM
  19. 为何贩卖焦虑的文章如此受欢迎???
  20. 毕业设计 - 银行柜员业务绩效考核系统的设计与实现【源码+论文】

热门文章

  1. mysql字符串比较日期_比较MySQL中的日期字符串
  2. 【计算机毕业设计】基于微信小程序的民宿预订系统
  3. python c++情侣网名含义_集Python、C++、R为一体的语言,她是?
  4. 我写了 ahooks 源码分析系列,收到官方邀请我一起维护,这是一次提 PR 的记录...
  5. Jetson tx2刷机指南及gparted扩容全踩坑实录
  6. 企业里最重要的“自燃人”
  7. 计算机系统结构:指令的动态调度-记分牌算法
  8. css3摇骰子,css3骰子(transform初识)
  9. js基础总结——js 获取元素节点、js 绑定onclick事件、js 获取属性 修改属性值、js 获取子元素、js 改变css样式
  10. Python爬虫实战:网易云音乐爬取!