由于刚刚接触到Ajax对其比较陌生,而其中的XMLHttpRequest对象更是未曾听闻。开始学之前,了解一下它的属性和方法为它的使用做下铺垫。本文重点介绍XMLHttpRequest的属性和方法。
XMLHttpRequest对象的属性和事件
属性 |
描述 |
readyState |
表示XMLHttpRequest对象的状态[1] |
responseText |
包含客户端接收到的HTTP相应的文本内容[2] |
responseXML |
服务器响应的XML内容对应的DOM对象[3] |
status |
服务器返回http状态码[4] |
statusText |
服务器返回状态码的文本信息[5] |
事件 |
描述 |
onreadystatechange |
当readyState属性发生变化时触发此事件,用于触发回调函数。 |
[1]:
状态 |
名称 |
描述 |
0 |
Uninitialized |
初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。 |
1 |
Open |
open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。 |
2 |
Send |
Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。 |
3 |
Receiving |
所有响应头部都已经接收到。响应体开始接收但未完成。 |
4 |
Loaded |
HTTP 响应已经完全接收。 |
[2]:readyState=4时,responseText包含完整的响应信息。
readyState=3时,responseText包含未完整的响应信息。
readyState<3时,responseText为空字符串。
[3]:当readyState=4,并且响应头部的Content-Type的MIME类型为XML(text/xml或application/xml)时,该属性有值并且被解析成一个XML文档。其它情况为null,包括回传的XML文档不良或未完成响应回传。
[4]:如 200 表示成功,而 404 表示 "NotFound" 错误。当 readyState 小于 3 的时候读取这一属性会导致一个异常。
[5]:当状态为 200 的时候它是"OK",当状态为 404 的时候它是 "Not Found"。和 status 属性一样,当 readyState 小于 3 的时候读取这一属性会导致一个异常。
XMLHttprequest对象的方法
1.open方法
描述:制定和服务器交互的HTTP方法,URL地址及其他请求信息。
open(method,url, async, username, password) 用来进行初始化工作
返回值:得到一个包含send()方法的对象
method:必须。用于指定HTTP请求方法,支持所有HTTP的方法,如GET,POST,按规定
uri:请求的服务器的地址,自动解析成绝对地址。
async:请求是否异步,true表示你异步,false表示同步,默认为true。
username,password:可以不指定,分别表示用户名和密码,提供HTTP认证机制需要的用户名和密码。
调用open后,readystate状态为1.
2.send(content)方法
描述:向服务器发出请求,其内容可以是DOM对象,输入流或是字符串。
调用open 方法后,可以调用send()方法来发送请求。
当open 中async=true时,send()方法调用后立即返回,否则会中断直到请求返回。
3.abort()方法
该方法可以暂停一个HttpRequest请求或者HttpResponse的接收,并且将XMLHttpRequest的状态设置为初始化。
4.setRequestHeader(header,value)方法
该方法用来设置请求的头部信息。此方法需要在open方法之后调用。
5.getResponseHeader()方法
描述:返回包含HTTP的所有响应头信息,其中响应头包括Content-Length,Date,URI等内容。
当readystate>2时,该方法用来检索响应的头部信息。否则返回一个空字符串。
getAllResponseHeaders()方法返回所有的HttpResponse头部信息。
知道的XMLHttpRequest对象的相关知识之后,重点就是如何使用了,敬请关注我的下篇博客《AJAX入门---五步使用XMLHttpRequest对象》