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