ajax事件(五)

建立和探索一个简单示例之后,现在可以深入了解XMLHttpRequest对象支持的功能,以及如何在你的请求中使用它们了。起点就是第二级规范里定义的那些额外事件。之前已经使用一个:readystatechange。它是从第一等级转过来的,其他的如下表所示。

XMLHttpRequest对象定义的事件
名称 说明 事件类型
abort 在请求被中止时触发 ProgressEvent
error 在请求失败时触发 ProgressEvent
load 在请求成功完成时触发 ProgressEvent
loadend 在请求已完成时触发,无论成功还是发生错误 ProgressEvent
loadstart 在请求开始时触发 ProgressEvent
progress 触发以提示请求的进度 progressEvent

    这些事件大多数会在请求的某一个特定点上触发。readystatechange(之前介绍后)和progress这两个事件例外,它们可以多次触发以提示进度更新。除了readstatechange之外,表中展示的其他事件都定义于XMLHttpRequest规范的第二级。注:考虑到第二级事件的实现还不到位,readystatechange是目前唯一能可靠追踪请求进度的事件。
    调度这些事件时,浏览器会对readystatechange事件使用常规的Event对象,对其他事件则使用ProgressEvent对象。ProgressEvent对象定义了Event对象的所有成员,并增加下表中介绍的这些成员。

ProgressEvent定义的额外属性
名称 说明 事件类型
lengthComputable 如果能够计算数据流的总长度则返回true 布尔值
loaded 返回当前已载入的数据量 数值
total 返回可用的数据总量 数值
原文地址:https://www.cnblogs.com/Sarah119/p/8169095.html