XHR2那些事儿

XMLHttpRequest Level 2

使用AJAX好多年了吧,相信创建一个请求监听什么状态都驾轻就熟了,还有什么好说的呢。问题来源于最近公司在优化图片上传的接口。所以来总结以下XMLHttpRequest Level 2的一些东西。

Formdata

AJAX 操作往往用来传递表单数据。为了方便表单处理,HTML 5新增了一个 FormData 对象,可以用于模拟表单。

1
var formData = new FormData(form)

新版 XMLHttpRequest 对象,不仅可以发送文本信息,还可以上传文件。

1
2
3
4
5
var input = document.getElementById("input"),
formData = new FormData();
formData.append("file",input.files[0]); // file名称与后台接收的名称一致
xhr.open('POST', form.action);
xhr.send(formData);