当前位置:首页 > 电脑知识 > 正文内容

全程干货(formdata用法详解)formdata是什么,FormData 简单介绍与用法,FormData 简单介绍与用法,

sauo3年前 (2022-09-17)电脑知识138

FormData是XMLHttpRequest Level 2提供的一个接口对象,用以将数据编译成键值对,以便于XMLHttpRequest来发送数据。它可以用来模拟来添加,删除或判断表单数据,还可以用于文件的上传操作。

FormData 使用方法

1、FormData 用来处理一个html表单数据

例:

JavaScript
<!--表单数据--> <form id="myForm" action="" method="post"> <input type="text" name="host" value="http://feiniaomy.com">名字 <input type="text" name="hostname" value="飞鸟慕鱼博客">密码 <input type="submit" value="提交"> </form> <script> // 获取页面已有的一个form表单 var form = document.getElementById("myForm"); // 用表单来初始化 var formData = new FormData(form); // 根据name来访问表单中的字段 var host = formData.get("host"); // 获取名字 console.log(host); </script>复制

2、单独创建一个 FormData 空白

对象并添加此数据

例代码:

JavaScript
var FormData = new FormData(); FormData.append(host,http://feiniaomy.com);复制

3、FormData 添加一个数据

FormData 可以通过append(key, value)来添加数据,如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾(相当于数组)

例代码:

JavaScript
var FormData = new FormData(); FormData.append("host", "http://feiniaomy.com"); //添加一条 FormData.append("tag", "php教程"); //添加一条 FormData.append("tag", "html教程"); //同一个值再添加一条 FormData.append("tag", "JS教程"); //同一个值再添加一条复制

4、FormData 获取一个数据

FormData 可以使用 get 或 getALL 来取值

例代码:

JavaScript
console.log(FormData.get(tag)); // php教程 console.log(FormData.getAll(tag)); // [php教程, html教程, JS教程]复制

5、FormData 修改数据

FormData 通过 set(key, value)来设置修改数据,如果指定的key不存在则会新增一条,如果存在,则会修改对应的value值

例代码:

JavaScript
console.log(FormData.get(host)); // http://feiniaomy.com FormData.set(host,http://baidu.com); //修改数据 console.log(FormData.get(host)); // http://baidu.com复制

6、FormData 判断数据是否存在

FormData 可以通过 has(key) 来判断是否有对应的key值

例代码:

JavaScript
console.log(FormData.has(host)); // true console.log(FormData.has(name)); // false复制

7、FormData 删除数据

FormData 使用 delete(key) 来删除数据

例代码:

JavaScript
console.log(FormData.has(host)); // true FormData.delete("host"); //删除数据 console.log(FormData.has(host)); // false复制

8、FormData 的应用

FormData 一般用于数据的 ajax 提交!

例代码:普通的表单提交

JavaScript
<!--表单数据--> <form id="myForm" > <input type="text" name="host" value="http://feiniaomy.com">名字 <input type="text" name="hostname" value="飞鸟慕鱼博客">密码 <input type="button" id="btn" value="提交"> </form> <script> var btn=document.querySelector("#btn"); btn.onclick=function(){ var formdata=new FormData(document.getElementById("myForm")); var xhr=new XMLHttpRequest(); xhr.open("post","http://127.0.0.1/adv"); xhr.send(formdata); xhr.onload=function(){ if(xhr.status==200){ //... } } } </script>复制

例代码:FormData 带有文件的上传

JavaScript
<!--表单数据--> <form name="form1" id="form1"> <input id="file" type="file" name="file"></input> <input type="text" name="host" value="feiniaomy.com"> <input type="button" id="btn" value="提交"> </form> <script> var btn=document.querySelector("#btn"); btn.onclick=function(){ var form = document.getElementById("form1"); var formdata = new FormData(form); $.ajax({ type : post, url : data.php, data : formdata, cache : false, //不缓存数据 processData:false, // 不处理发送的数据,因为data值是Formdata对象,不需要对数据做处理 contentType:false, // 不设置Content-type请求头 success:function(){ }, error:function(){ } }) } </script>复制

本文链接:http://blog.sauo.top/?id=311 感谢分享!

分享到:

扫描二维码推送至手机访问。

版权声明:本文由冬眠先生个人博客发布,如需转载请注明出处。

本文链接:http://blog.sauo.top/?id=311

分享给朋友:

“全程干货(formdata用法详解)formdata是什么,FormData 简单介绍与用法,FormData 简单介绍与用法,” 的相关文章

原创(禁止ping命令操作)linux如何停止ping,linux禁ping操作的方法,linux禁ping操作的方法,

免费领取腾讯云服务器! linux中可以通过ssh命令来禁止其它机器来ping自己,下面是配置方法,大家可以参考一下。 linux中禁ping的方法 方法1 临时禁ping,系统重启后失效,已在ubuntu系...

深度揭秘(Ubuntu 防火墙设置)ubuntu防火墙配置文件,ubuntu防火墙的安装与设置,ubuntu防火墙的安装与设置,

免费领取腾讯云服务器! ubuntu系统中的防火墙使用的是iptables,而为了方便防火墙的设置ubuntu提供了一个防火墙管理工具ufw.下面这篇文章就说一说关于防火墙管理工具ufw的安装与使用方法。 ubuntu防火墙ufw的安装与设...

这都可以?(php获取服务器信息)php获取客户端,php获取服务器操作系统类型的方法,php获取服务器操作系统类型的方法,

免费领取腾讯云服务器! 利用php脚本中的 php_uname() 函数与 PHP_OS 变量可以获取服务器操作系统的类型,具体的使用方法如下。 php获取服务器操作系统的方法 1、php_uname() 获取服务器操作系统...

一篇读懂(PHP for循环)php跳出循环的语句,php中的几种循环语句,php中的几种循环语句,

免费领取腾讯云服务器! 列举几种php脚本中常用的几种循环语句,比如,for,foreach,do....while 等。 php for循环 for循环在很多语言中都经常用到,比如js语言,c语言,java语言等。...

难以置信(php错误日志在哪里)PHP 日志,php设置错误日志的方法,php设置错误日志的方法,

难以置信(php错误日志在哪里)PHP 日志,php设置错误日志的方法,php设置错误日志的方法,

免费领取腾讯云服务器! php设置错误日志需要在php配置文件php.ini中设置,只需要简单的几步设置就可以实现,下面就来详细的说一下。 php设置错误日志的方法 1、打开php的配置文件,php.ini...

这都可以?(jquery去掉前后空格)jquery去掉字符串前后空格,jQuery去掉 serialize() 方法中指定的name值,jQuery去掉 serialize() 方法中指定的name值,

免费领取腾讯云服务器! 在修改一个前台表单提交逻辑时,为了不动以前的代码(代码和屎一样),就想着在提交数据时过滤掉form表单中指定的name属性和值,由于表单直接使用jquery中的serialize()方法来获取的form表单的数据,所以就要对 ser...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。