FormData 是一种用于在浏览器和服务器之间传输数据的对象。它提供了一种简单、灵活的方式来处理表单数据,包括文本、二进制数据、文件等。
FormData 结构详解
FormData 是一个 JavaScript 对象,其结构如下:
```javascript
let formData = new FormData();
```
其中,每个键名对应一个数组,数组中的元素是该键对应的值。例如:
```javascript
formData.append('key', 'value');
```
这样,你就可以通过 `formData.get()` 方法获取某个键的值,或者使用 `formData.append()` 方法添加新的键值对。
FormData 应用示例
假设我们有一个 HTML 表单,需要将用户输入的数据发送到服务器:
```html
```
然后,我们在 `formData.js` 文件中使用 `FormData` 来处理表单数据:
```javascript
document.getElementById('dataForm').addEventListener('submit', function(event) {
event.preventDefault(); // 阻止表单的默认提交行为
let formData = new FormData(this); // 获取表单数据
fetch('/api/upload', { // 假设我们有一个 API 端点用于上传文件
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log(data)) // 打印服务器返回的数据
.catch(error => console.error('Error:', error));
});
```
这样,当用户提交表单时,表单数据将被转换为 `FormData` 对象,并通过 AJAX 请求发送到服务器。服务器接收到数据后,可以使用相同的方式处理。