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 the event handlers (and their corresponding event 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 the event handler (and its corresponding event handler event type) that must be supported as attribute solely by the XMLHttpRequest object:

event handler event handler event type
onreadystatechange readystatechange


The following events are dispatched on XMLHttpRequest and/or XMLHttpRequestUpload objects:

Event name Interface Dispatched when…
readystatechange Event The readyState attribute changes value, except when it changes to UNSENT.
loadstart ProgressEvent The request starts.
progress ProgressEvent Transmitting data.
abort ProgressEvent The request has been aborted. For instance, by invoking the abort() 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).



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值