readyState属性
有5个取值:0、1、2、3、4,表示HTTP请求的状态和服务器的响应。此属性的值一般不会递减,除非在正在进行的请求中调用了abort()或open()方法。理论上,每当这个属性的值发生变化时都会触发readyStateChange事件,但实际上,只有此属性改变为4时才会触发readyStateChange事件。
readyState值 |
含义 |
0 |
初始值,XMLHttpRequest对象刚刚创建时,或刚调用了abort()方法后 |
1 |
已经调用了open()方法,但还未调用send()方法,即还未发送请求 |
2 |
已经调用了send()方法,也已经收到了响应头,但还未收到响应主体 |
3 |
正在接收响应主体,但还未完成 |
4 |
HTTP响应已经全部接收完毕,或由于错误而停止 |
responseText属性
此属性值为字符串String
- 当readyState<3,此属性为空字符串;
- 当readyState=3,此属性值为目前已经接收到的响应主体部分;
- 当readyState=4,此属性值为响应的全部主体
responseXML属性
请求响应为有效的XML或HTML文档时,此属性值为Document对象;当响应主体还没有就绪,或不是有效的XML或HTML文档,此属性值为null。
status属性与statusText属性
status属性指服务器返回的HTTP状态码,statusText属性则指HTTP状态码对应的文本说明。
事件处理程序
onabort |
当请求中止时触发 |
onload |
当请求成功时触发 |
onloadend |
在请求成功或者失败时触发;load、abort、error、timeout事件发生之后 |
onloadstart |
当请求开始时触发 |
onreadystatechange |
当readyStateChange属性改变时触发 |
ontimeout |
当timeout属性指定的时间已经过去但响应依旧没有完成时触发 |
onerror |
当请求因错误失败时触发。注意404等状态码不是error,因为此时响应仍然是成功完成的。 |
onprogress |
当响应主体正在下载重复触发(约每隔50ms一次) |
————————————————————————————————————————————————————————————————————————————
以下是W3C官方标准的解释:http://www.w3.org/TR/XMLHttpRequest/#events
The following are theevent handlers(and their correspondingevent handler event types) that must be supported on objects implementing an interface that inherits fromXMLHttpRequestEventTarget as attributes:
event handler |
event handler event type |
onloadstart |
loadstart |
onprogress |
progress |
onabort |
abort |
onerror |
error |
onload |
load |
ontimeout |
timeout |
onloadend |
loadend |
The following is theevent handler(and its correspondingevent handler event type) that must be supported as attribute solely by theXMLHttpRequest object:
event handler event type
onreadystatechange |
readystatechange |
The following events are dispatched onXMLHttpRequest and/orXMLHttpRequestUpload objects:
Event name |
Interface |
Dispatched when… |
readystatechange |
Event |
ThereadyState attribute changes value,except when it changes toUNSENT. |
loadstart |
ProgressEvent |
The request starts. |
progress |
ProgressEvent |
Transmitting data. |
abort |
ProgressEvent |
The request has been aborted. For instance,by invoking theabort() method. |
error |
ProgressEvent |
The request has failed. |
load |
ProgressEvent |
The request has successfully completed. |
timeout |
ProgressEvent |
The author specified timeout has passed before the request completed. |
loadend |
ProgressEvent |
The request has completed (either in success or failure). |
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|