1 认识XMLHttpRequest Level2
1.1. 旧版XMLHttpRequest的缺点
①
只支持文本数据的传输,无法用来读取和上传文件
②
传送和接收数据时,没有进度信息,只能提示有没有完成
1.2. XMLHttpRequest Level2的新功能
①
可以设置
HTTP
请求的时限
②
可以使用
FormData
对象管理表单数据
③
可以上传文件
④
可以获得数据传输的进度信息
2 设置HTTP请求时限
有时,Ajax 操作很耗时,而且无法预知要花多少时间。如果网速很慢,用户可能要等很久。新版本的 XMLHttpRequest 对象,增加了 timeout 属性,可以设置 HTTP 请求的时限:
xhr.timeout = 3000
上面的语句,将最长等待时间设为 3000 毫秒。过了这个时限,就自动停止HTTP请求。与之配套的还有一个 timeout 事件,用来指定回调函数:
xhr.ontimeout = function(event){
alert('请求超时!')
}
3 FormData对象管理表单数据
Ajax 操作往往用来提交表单数据。为了方便表单处理,HTML5 新增了一个