FormData对象是一种Web API,它提供了一种方便的方式来构造表单数据,以便可以将表单数据发送到服务器。它的主要用途是在AJAX中发送表单数据,但也可以用于其他用途。FormData对象使用键值对的形式来存储表单数据,可以使用各种不同的数据类型,包括文本、文件、对象等。
FormData对象可以用于构造任何类型的表单数据,包括文本字段、文件字段、复选框、单选框等。要创建FormData对象,可以使用new操作符创建一个新的FormData对象,使用append()方法添加键值对:
let formData = new FormData(); formData.append('name', 'John'); formData.append('age', '20'); formData.append('file', fileInputElement.files[0]);
上面的代码创建了一个新的FormData对象,使用append()方法添加了三个键值对,name和age是文本字段,file是文件字段。
FormData对象也可以使用set()方法来设置键值对,该方法接受两个参数:键和值:
formData.set('name', 'John'); formData.set('age', '20');
FormData对象还可以使用delete()方法删除键值对:
formData.delete('name');
要获取FormData对象中的数据,可以使用get()方法,该方法接受一个参数,即键,并返回相应的值:
let name = formData.get('name'); let age = formData.get('age');
要迭代FormData对象中的所有键值对,可以使用forEach()方法,该方法接受一个回调函数,该回调函数会被调用每个键值对:
formData.forEach(function(value, key) { console.log(key + ': ' + value); });
FormData对象可以用于AJAX请求,可以将FormData对象作为参数传递给XMLHttpRequest的send()方法:
let xhr = new XMLHttpRequest(); xhr.open('POST', '/submit'); xhr.send(formData);
上面的代码使用XMLHttpRequest的send()方法发送表单数据,参数是一个FormData对象。服务器端可以使用相应的技术来解析表单数据,比如PHP、Node.js等。
FormData对象提供了一种简单的方式来构造表单数据,可以使用append()、set()、delete()、get()和forEach()方法来操作表单数据,也可以将表单数据发送到服务器端。