XMLHttpRequest对象

XMLHttpRequest,中文可以解释为可扩展超文本传输请求。得到了所有现代浏览器较好的支持,提供了对 HTTP 协议的完全的访问,但是还没有标准化。

创建XMLHttpRequest对象

IE使用ActiveXObject创建XMLHttpRequest对象
其他浏览器使用名为 XmlHttpRequest 的js内建对象创建
实现兼容的代码:

var xhr=null;
if (window.XMLHttpRequest){
    xhr=new XMLHttpRequest()
}else if (window.ActiveXObject){
    xhr=new ActiveXObject();
}

属性

1:readyState

HTTP 请求的状态.当一个 XMLHttpRequest 初次创建时,这个属性的值从 0 开始,直到接收到完整的 HTTP 响应,这个值增加到 4,每次这个值增加的时候都会触发onreadystateChange事件

状态 名称 描述
0 Uninitialized 初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。
1 Open open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。
2 Send Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。
3 Receiving 所有响应头部都已经接收到。响应体开始接收但未完成。
4 Loaded HTTP 响应已经完全接收。

2.responseText

目前为止从服务器接收到的响应体(不包括头部),或者如果还没有接收到数据的话,就是空字符串。
如果 readyState 小于 3,这个属性就是一个空字符串。当 readyState 为 3,这个属性返回目前已经接收的响应部分。如果 readyState 为 4,这个属性保存了完整的响应体。
如果响应包含了为响应体指定字符编码的头部,就使用该编码。否则,假定使用 Unicode UTF-8。

3.responseXML

对请求的响应,解析为 XML 并作为 Document 对象返回。如果响应体不是“text/xml”返回null。

4.status

由服务器返回的 HTTP 状态代码,如 200 表示成功,而 404 表示 “Not Found” 错误。当 readyState 小于 3 的时候读取这一属性会导致一个异常。

5.statusText

这个属性用名称而不是数字指定了请求的 HTTP 的状态代码。也就是说,当状态为 200 的时候它是 “OK”,当状态为 404 的时候它是 “Not Found”。和 status 属性一样,当 readyState 小于 3 的时候读取这一属性会导致一个异常。

你可能感兴趣的:(xmlhttprequest,ajax)