详细连接https://blog.csdn.net/a1102325298/article/details/80785143

ajax获得表单值的俩种方法

2018年06月23日 17:12:02 延迟满足 阅读数:2234
 

FormData

介绍

FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台。 在使用ajax提交时,使用FormData对象可以减少拼接queryString的工作量。同时FromData可以接收到二进制文件(可以用来做异步上传文件),serialize只能序列化简单的数据。

注意:参数

new FormData的参数是一个DOM对象,而非jQuery对象 
我们通过[index]的方法,来得到相应的DOM对象。

var formData = new FormData($("#fileinfo")[0]); 
  • 1

用于文件上传

form表单添加 enctype="multipart/form-data"

<form enctype="multipart/form-data" method="post" id="fileinfo">
<label>图片:</label>
<input type="file" name="file" />
<input type="submit" value="提交" />
</form>

ajax中必须加入下面这俩个配置

    processData: false,
contentType: false,
                var formData = new FormData($("#fileinfo")[0]);
$.ajax({
dataType: "json",
type: "post", // 提交方式 get/post
url: '/dog/saveOrUpdate.action', // 需要提交的 url
data: formData,
processData: false,
contentType: false,
success: function(data) {
}
});

用法

html

<form id="itemForm" class="form-horizontal" enctype="multipart/form-data">

<div class="form-body">
<div class="form-group">
<label class="col-md-3 control-label"><span class="required" aria-required="true"> * </span>流浪狗名称</label>
<div class="col-md-4">
<div id="input-error">
<input id="dogName" name="dogName" type="text" class="form-control" value="" />
</div>
</div>
</div> <div class="form-group">
<label class="col-md-3 control-label"><span class="required" aria-required="true"> * </span>流浪狗品种</label>
<div class="col-md-4">
<div id="input-error">
<input id="dogKind" name="dogKind" type="text" class="form-control" value="" />
</div>
</div>
</div> <div class="form-group">
<label class="col-md-3 control-label"><span class="required" aria-required="true"> * </span>流浪狗年龄</label>
<div class="col-md-4">
<div id="input-error">
<input id="dogAge" name="dogAge" type="text" class="form-control" value="" />
</div>
</div>
</div> <div class="form-group">
<label class="col-md-3 control-label"><span class="required" aria-required="true"> * </span>流浪狗图片</label>
<div class="col-md-4">
<div id="input-error">
<input id="file" name="file" type="file" value="" />
</div>
</div>
</div> </div> <div class="form-actions">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<button type="submit" class="btn green-jungle">提 交</button>
<button type="reset" class="btn grey-salsa btn-outline">取 消</button>
</div>
</div>
</div>
</form>

ajax

                var itemForm = $('#itemForm');
var formData = new FormData($("#itemForm")[0]);
$.ajax({
dataType: "json",
type: "post", // 提交方式 get/post
url: '/dog/saveOrUpdate.action', // 需要提交的 url
data: formData,
processData: false,
contentType: false,
success: function(data) { // 登录成功或者失败的提示信息
if (data.status == 200 && data.msg == "OK") { } else { }
},
error: function (response, ajaxOptions, thrownError) { }
});

serialize

介绍

serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。

你可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。

序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。

使用serialize前 

使用serialize后 

用法

ajax

                var commentId = $("#commentId").val();
//获取form表单的jquery对象
var commentInfoForm = $('#commentInfoForm');
$.ajax({
dataType: "json",
type: "post", // 提交方式 get/post
url: '/comment/saveOrUpdate.action', // 需要提交的 url
data: commentInfoForm.serialize(),
success: function(data) {
// 登录成功或者失败的提示信息
if (data.status == 200 && data.msg == "OK") { } else { }
},
error: function (response, ajaxOptions, thrownError) { }
});

ajax获取值的两种方法的更多相关文章

  1. 选中没有选中的复选框,匹配含有某个字符串的正则,json取值的两种方法,把变量定义在外面跟里面的区别

    一.筛选没有选中的复选框:not("input:checked") 二.匹配有VARCHAR的字符串:".*VARCHAR.*?" 三.json取值的两种方法 ...

  2. JMeter接口测试-提取动态列表最后一个值的两种方法

    前言 在用JMeter做接口测试时,我们经常会遇到,一个接口返回一个json串,在这个json串中,某个节点的值是一个列表,而且这个列表的长度是动态变化的.今天我们来学习两种提取动态列表最后一个值的两 ...

  3. javascript获取属性的两种方法及区别

    javascript获取属性有两种方式,点或者中括号: var obj={} obj.x=1 console.log(obj.x)//1 第一种方式,x是字面量 try{ console.log(ob ...

  4. js获取json属性值的两种方法

    1.json.XXX 2.json["XXX"] 第二种方法使用场景,当属性值是变量时.如图所示:

  5. ajax异步提交的两种方法

    第一种是原始的ajax,第二种是在jQuery中使用ajax.这是我为测试两种提交方法而写的一段代码. 1.struts.xml <package name="json" e ...

  6. 让索引包含null值的两种方法

    1. 把有NULL值的列与一个常数,或者一个带有not null约束的列一同索引 create index ind_01 on t01(col01,1); 或者 create index ind_01 ...

  7. C# 一次循环获取树的两种方法

    第一种方法好些 第二种方法如果中间断开就会成为一级 private static List<Menu> MenuTree() { , ParentId = , Name = "a ...

  8. Selenium获取input值的两种方法:WebElement.getAttribute("value")和WebElement.getText()

    在页面元素的定位中,有时候需要获取到元素的页面显示值,用来作为断言.例如,我需要获取email的值"amy1111@xxx.com". <input class=" ...

  9. python获取函数参数默认值的两种方法

    1.使用函数的__defaults__魔术方法 demo: # coding=utf-8 def f(a,b,c=1): pass f.__defaults__ 输出结果: (1,) 2.使用insp ...

随机推荐

  1. mongodb创建用户(转发)

    参考文档: https://www.cnblogs.com/itxiongwei/p/5520863.html MongoDB 缺省是没有设置鉴权的,业界大部分使用 MongoDB 的项目也没有设置访 ...

  2. iterable与iterator

    1.迭代器的感性认识 对于Collection类下的集合如各种List各种Set,用于实现这些集合的数据结构各不相同,比如数组实现的ArrayList.链表实现的LinkedList,当客户端知道要使 ...

  3. tomcat配置通过域名直接访问项目首页步骤

    假设www.ctool.top.ip:192.168.122.135 step 1 申请一个域名并做好DNS解析,或者在hosts文件做域名指向 #vim /etc/hosts www.ctool.t ...

  4. solaris下安装oracle 11g与11g rac

    1.To Find Swap, RAM, and OS Version 对于 Solaris 操作系统,查看 Swap, RAM, and OS Version 的方法: swap -l /usr/s ...

  5. P1365 WJMZBMR打osu! / Easy-洛谷luogu

    传送门 题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有nn次点击要做,成功了就是o,失败 ...

  6. Leetcode 1. Two Sum (Python)

    refer to https://blog.csdn.net/linfeng886/article/details/79772348 Description Given an array of int ...

  7. AI SSD目标检测算法

    Single Shot multibox Detector,简称SSD,是一种目标检测算法. Single Shot意味着SSD属于one stage方法,multibox表示多框预测. CNN 多尺 ...

  8. CF1103D Professional layer 状压DP

    传送门 首先对于所有数求gcd并求出这个gcd含有的质因子,那么在所有数中,只有这一些质因子会对答案产生影响,而且对于所有的数,每一个质因子只会在一个数中被删去. 质因子数量不会超过\(11\),所以 ...

  9. 如何备份和恢复你的TFS服务器(三)

    进行一次备份 当然,如果你已经建立了一个时间表,那么备份会在指定的时间自动地进行,但是我真的无法给你展示一张很酷的截图——那是不可见的:).无论你是否建立了一个时间表.你都可以在任意时间执行一次完整的 ...

  10. odoo 11 配置nginx反向代理

    第一步 安装nginx 和 certbot    具体步骤可以参考这篇文章的第6,7步. 第二步 配置nginx映射到odoo网站的文件,主要有2个,文件中的cloudapp.top是我们自己的域名, ...