Form​Data 对象的使用

FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具有同样形式。

form-data格式一般是用来进行文件上传的。使用表单上传文件时,必须让表单的 enctype 等于 multipart/form-data,因为该值默认值为application/x-www-form-urlencoded。

//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//可以通过append()方法来追加数据
formdata.append("name","laotie");
//通过get方法对值进行读取
console.log(formdata.get("name"));//laotie
//通过set方法对值进行设置
formdata.set("name","laoliu");
console.log(formdata.get("name"));//laoliu

1、通过get(key)与getAll(key)来获取相对应的值

// 获取key为age的第一个值
formdata.get("age"); 
 // 获取key为age的所有值,返回值为数组类型
formdata.getAll("age");

2、通过append(key,value)在数据末尾追加数据

//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//通过append()方法在末尾追加key为name值为laoliu的数据
formdata.append("name","laoliu");
//通过append()方法在末尾追加key为name值为laoli的数据
formdata.append("name","laoli");
//通过append()方法在末尾追加key为name值为laotie的数据
formdata.append("name","laotie");
//通过get方法读取key为name的第一个值
console.log(formdata.get("name"));//laoliu
//通过getAll方法读取key为name的所有值
console.log(formdata.getAll("name"));//["laoliu", "laoli", "laotie"]

3、通过set(key, value)来设置修改数据

key的值不存在,会添加一条数据
//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//如果key的值不存在会为数据添加一个key为name值为laoliu的数据
formdata.set("name","laoli");
//通过get方法读取key为name的第一个值
console.log(formdata.get("name"));//laoli

key的值存在,会修改对应的value值
//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//通过append()方法在末尾追加key为name值为laoliu的数据
formdata.append("name","laoliu");
//通过append()方法在末尾追加key为name值为laoliu2的数据
formdata.append("name","laoliu2");
//通过get方法读取key为name的第一个值
console.log(formdata.get("name"));//laoliu
//通过getAll方法读取key为name的所有值
console.log(formdata.getAll("name"));//["laoliu", "laoliu2"]

//将存在的key为name的值修改为laoli
formdata.set("name","laoli");
//通过get方法读取key为name的第一个值
console.log(formdata.get("name"));//laoli
//通过getAll方法读取key为name的所有值
console.log(formdata.getAll("name"));//["laoli"]

4、通过has(key)来判断是否存在对应的key值

//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//通过append()方法在末尾追加key为name值为laoliu的数据
formdata.append("name","laoliu");
//判断是否包含key为name的数据
console.log(formdata.has("name"));//true
//判断是否包含key为age的数据
console.log(formdata.has("age"));//false

5、通过delete(key)可以删除数据

//通过FormData构造函数创建一个空对象
var formdata=new FormData();
//通过append()方法在末尾追加key为name值为laoliu的数据
formdata.append("name","laoliu");
console.log(formdata.get("name"));//laoliu
//删除key为name的值
formdata.delete("name");
console.log(formdata.get("name"));//null
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在网络应用中,XML文件也可以使用`form data`格式进行传输。要将XML文件转换为`form data`格式,可以使用以下步骤: 1. 将XML文件转换为字符串格式。可以使用XML DOM对象或第三方库(如jQuery)将XML文件解析为字符串格式。 2. 对字符串进行URL编码。可以使用JavaScript中的`encodeURIComponent()`函数将字符串进行URL编码。 3. 将编码后的字符串作为`form data`中的一个字段值,使用`FormData`对象进行封装。 以下是一个示例代码,演示了如何将XML文件转换为`form data`格式并使用`XMLHttpRequest`对象进行传输: ```javascript // 1. 将XML文件转换为字符串格式 var xmlString = new XMLSerializer().serializeToString(xmlDoc); // 2. 对字符串进行URL编码 var encodedXmlString = encodeURIComponent(xmlString); // 3. 将编码后的字符串作为form data中的一个字段值 var formData = new FormData(); formData.append("xml_data", encodedXmlString); // 发送XML数据到服务器 var xhr = new XMLHttpRequest(); xhr.open("POST", "submit.php", true); xhr.send(formData); ``` 在这个例子中,我们首先将XML文件转换为字符串格式,然后使用`encodeURIComponent()`函数对字符串进行URL编码。接着,我们将编码后的字符串作为`form data`中的一个字段值,使用`FormData`对象进行封装。最后,我们使用`XMLHttpRequest`对象将这个`form data`数据发送到服务器的`submit.php`接口。在服务器端,我们可以使用相应的方式来解析和处理这个`form data`数据,并将其中的XML数据进行解析和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值