网站首页 > 知识剖析 正文
一、FormData和serialize的区别
1、共同点: 都需要设置表单各项的name属性。 都能快速收集表单数据 都能够获取到隐藏域(<input type="hidden" />)的值 都不能获取禁用状态(disabled)的值
2、不同点: FormData属于原生的代码;serialiaze是jQuery封装的方法 FormData可以收集文件域(<input type="file"/>)的值,而serialize不能。如果有文件上传,则必须使用FormData, 得到的结果的数据类型不一样。
二、 serialize() 函数
jQuery 的 serialize() 函数能够一次性获取到表单中name属性的数据,可序列化表单值创建 URL 编码文本字符串,它的语法格式如下: $('表单id').serialize(),serialize() 函数的其他特点:
1、该方法是 jQuery 封装的,使用时必须引入 jQuery
2、使用 serialize(),各表单域必须有 name 属性,因为name属性的值没有参数的键,就不可能生成键值对,并且name属性名称一定要按照后台接口文档在设置
3、使用该方法得到的结果是一个查询字符串结构:name=value&name=value
4、该方法 能够 获取 隐藏域的值
5、该方法不能得到 禁用状态的值
6、该方法不能得到文件域中的文件信息,所以不能完成文件上传
三、FormData 函数
FormData是HTML5对象,目前可兼容大多主流的浏览器,但不兼容低版本IE浏览器。与普通的Ajax相比,使用FormData 的最大优点就是可以异步上传二进制文件。通过ajax异步提交表单数据,可实现文件上传
(一)、注意事项:
提交 FormData 对象,不能使用 GET 方式,具体以接口文档为准,formdata 是一个二进制数据,在控制台无法直接打印输出 ,创建的 FormData对象可以直接提交给接口。
1 form表单加 enctype="multipart/form-data";
2 ajax加 processData: false,contentType: false,
(二)、Formdata的两种使用场景:
1.收集表单 --所有--数据:传递form对象: let formdata = new FormData(form)
2.只要收集文件数据 --- 单独的追加文件数据:formdata.append('文件参数的键',文件对象)
猜你喜欢
- 2024-11-15 AJAX教程(ajax教程 csdn)
- 2024-11-15 php手把手教你做网站(二十四)jquery ajax上传大的附件
- 2024-11-15 前端开发之用以处理表单的jQuery控件之AJAX请求
- 2024-11-15 全新web前端开发教程之Jquery Ajax
- 2024-11-15 Ajax异步操作集合啦(ajax异步处理)
- 2024-11-15 前端面试题《AJAX》(ajax面试题2020)
- 2024-11-15 Python | Django 通过 form 表单和 ajax 上传文件
- 2024-11-15 前端监控 SDK 开发分享(前端监控 sdk 开发分享方案)
- 2024-11-15 Ajax请求时,请求类型,常用的几种 Content-Type json form-data xml
- 2024-11-15 [前端请求]Ajax知识点 Jquery接口封装 fetch原生js请求
- 04-26workerman 自定义的协议如何解决粘包拆包
- 04-26Everything 在应急响应中的使用
- 04-26后端开发干货:PHP源码阅读技巧
- 04-26php8属性注解使用教程
- 04-26PHP 中不可能存在的 XXE
- 04-26PHP-FPM 学习记录
- 04-26【玩法悉知】:领地战玩法全解析!
- 04-26PHP实现URL编码、Base64编码、MD5编码的方法
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)