XMLHttpRequest对象的属性:
(1)readyState属性
该属性代表请求的状态,当XMLHttpRequest对象把一个HTTp请求发送到服务器端时,会经历若干状态,一直等待直到请求被处理,然后再接收一个响应,这样脚本才能正确地响应各种状态,XMLHttpRequest对象的readyState属性值如下表所示:
属性 | 说明 |
---|---|
onreadystatechange | 状态改变时都会触发这个事件处理器,指向一个JavaScript函数 |
status | 服务器的HTTP状态码 |
statusText | HTTP状态码的相应文本 |
responseText | 服务器的响应,通常为一个字符串 |
responseXML | 服务器的响应,通常为一个XML,可以解析为一个DOM对象 |
readyState | 请求状态 |
readyState属性值 | 说明 |
---|---|
0 | 未初始化状态,此时已创建了一个XMLHttpRequest对象,但是还没有初始化 |
1 | 发送状态,调用了open()方法,并已经准备好把一个请求发送到服务器 |
2 | 发送状态,已经调用send()方法,但没收到响应 |
3 | 正在接收状态,已经接收到HTTP响应头部信息,但是消息体部分还没完全接受结束 |
4 | 接受完全状态,即响应已被完全接收 |
(2)onreadystatchange属性
该属性是readyState属性值改变时的时间触发器,用来指定当readyState属性值改变时的处理时间。在使用时,常常以事件处理函数名称赋予onreadystatechange的方式,来为XMLHttpRequest指定事件触发器,而在事件处理函数中通过判断readyState状态值做出相应的处理。
(3)responseText属性
该属性包含接收到的HTTP响应的文本内容,当readyState值为0、1、2时,该属性值为一个空字符串。当readyState值为3时,该属性值包含客户端中未完成的响应信息。当readyState值为4时,该属性值包含完整的响应信息。
(4)responseXML属性
该属性包含接收的HTTP响应的XML内容。需要注意的是:当服务器以XML文档的格式返回响应数据时,responseXML属性值才不为null。
(5)status属性
Status属性值描述了HTTP状态代码,仅仅当readyState值为3或4时该属性才有效,当readyState值小于3时,试图存取status的值将会引发一个异常。
(6)statusText属性
该属性描述了HTTP状态代码文本,仅仅当readyState值为3或4时,该属性才有效,当readyState值小于3时,试图存取status的值将会引发一个异常。
XMLHttpRequest对象的方法:
方法 | 说明 |
---|---|
Abort() | 定制当前请求 |
getAllResponseHeaders() | 将HTTP请求的所有响应首部作为key-value对返回 |
getResponseHeader() | 返回制定首部的值 |
Open() | 建立对服务器的调用 |
Send() | 向服务器发送请求 |
setRequestHeader() | 把指定首部设置为所提供的值 |
(1)abort()方法
该方法用来暂停与XMLHttpRequest对象相联系的HTTP请求,从而把对象福味道未初始化装填
(2)open(DOMString method,DOMString uri,Boolean async,DOMString username,DOMString password)方法
该方法用来初始化一个XMLHttpRequest对象,其中,method参数用于指定发送请求的HTTP方法(可以使GET方法、POST方法、PUT方法、DELETE方法或HEAD方法)。如果想将数据发送到服务器,则应该使用POST方法。如果想从服务器端检索数据,则应该使用GET方法。方法中的uri参数用于指定XMLHttpRequest对象把请求发送到与服务器相应的URI。Async参数指定了请求是否是异步的,其默认值是true。如果想发送一个同步请求,则需要把这个值设置为false。在调用open()方法后,XMLHttpRequest对象会将它的readyState属性设置为1,并且把responseText、responseXML、status和statusText属性设置为他们的初始值。
(3)send()方法
在调用open()方法准备好一个请求后,还需要把该请求发送到服务器,这时就需要调用send()方法。Send()方法中包含了一个可选的参数,该参数可以包含可变类型的数据。
(4)setRequestHeader(DOMString header,DOMString value)方法
该方法用来设置请求的头部信息,其中,header参数表示要设置的首部,value参数表示要设置的值。需要注意的是,该方法的调用必须在调用open()方法之后。
(5)getRequestHeader(DOMString header)方法
该方法用来得到首部信息其中header参数表示要得到的首部。该方法仅仅当readyState值是3或4时才可调用,否则会返回一个空字符串。
(6)getAllResponseHeader()方法
该方法用来得到所有的响应首部,此时readyState属性值必须为3或4,否则该方法将返回null值。