解决multipart/form-data表单中传递参数问题
时间: 2023-10-13 18:09:07 浏览: 94
在 `multipart/form-data` 表单中传递参数可以使用 `FormData` 对象。`FormData` 对象可以动态添加表单键值对,同时支持文件上传。以下是一个示例:
```js
const formData = new FormData();
formData.append('name', '张三');
formData.append('age', '25');
const fileInput = document.querySelector('input[type="file"]');
formData.append('avatar', fileInput.files[0]);
fetch('/api/submit', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
```
在上面的示例中,我们使用 `FormData` 对象动态添加了 `name` 和 `age` 两个键值对,同时也添加了一个名为 `avatar` 的文件。然后,我们将 `FormData` 对象作为请求的 `body`,通过 `fetch` 发送到服务器端。
在服务器端,通过相应的解析库可以解析 `multipart/form-data` 表单数据,例如在 Node.js 中可以使用 `formidable` 或 `multer` 库来解析。
阅读全文