AJAX——XMLHttpRequest对象主要属性和事件

前端之家收集整理的这篇文章主要介绍了AJAX——XMLHttpRequest对象主要属性和事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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 fromXMLHttpRequestEventTargetas 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 theXMLHttpRequestobject:

event handler event type
onreadystatechange readystatechange


The following events are dispatched onXMLHttpRequestand/orXMLHttpRequestUploadobjects:

Event name Interface Dispatched when…
readystatechange Event ThereadyStateattribute 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).
原文链接:https://www.f2er.com/ajax/164420.html

猜你在找的Ajax相关文章