ajax中使用multipart/form-data
时间: 2023-08-30 16:09:55 浏览: 170
浅析application/x-www-form-urlencoded和multipart/form-data的区别
可以通过FormData对象实现上传文件的操作。首先,需要将form表单中的所有字段封装到FormData对象中,然后通过XMLHttpRequest对象将FormData对象发送到服务器。具体实现可以参考以下代码:
```
var formData = new FormData();
var fileInput = document.getElementById('fileInput');
formData.append('file', fileInput.files[0]);
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.onload = function () {
if (xhr.status === 200) {
console.log('上传成功!');
} else {
console.log('上传失败!');
}
};
xhr.send(formData);
```
其中,fileInput是一个文件选择框的DOM对象,通过files属性获取用户选择的文件列表中的第一个文件,然后将其添加到FormData对象中。使用XMLHttpRequest对象发送请求时,将FormData对象作为参数传入send方法即可。
阅读全文