创建XMLHttpRequest对象的一个实例
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
XMLHttpRequest 对象的一些典型方法。
方 法 | 描 述 |
abort() | 停止当前请求 |
getAllResponseHeaders() | 把 HTTP 请求的所有响应首部作为键 / 值对返回 |
getResponseHeader("header") | 返回指定首部的串值 |
open("method", "url") | 建立对服务器的调用。 method 参数可以是 GET 、 POST 或 PUT 。 url 参数可以是相对 URL 或绝对 URL 。这个方法还包括 3 个可选的参数 |
send(content) | 向服务器发送请求 |
setRequestHeader("header", "value") | 把指定首部设置为所提供的值。在设置任何首部之前必须先调用 open() |
void open(string method, string url, boolean asynch, string username, string password) :这个方法会建立对服务器的调用。这是初始化一个请求的纯脚本方法。它有两个必要的参数,还有 3 个可选参数。要提供调用的特定方法( GET 、 POST 或 PUT ),还要提供所调用资源的 URL 。另外还可以传递一个 Boolean 值,指示这个调用是异步的还是同步的。默认值为 true ,表示请求本质上是异步的。如果这个参数为 false ,处理就会等待,直到从服务器返回响应为止。 由于异步调用是使用 Ajax 的主要优势之一,所以倘若将这个参数设置为 false ,从某种程度上讲与使用 XMLHttpRequest 对象的初衷不太相符。不过,前面已经说过,在某些情况下这个参数设置为 false 也是有用的,比如在持久存储页面之前可以先验证用户的输入。最后两个参数不说自明,允许你指定一个特定的用户名和密码。
标准 XMLHttpRequest 属性
属 性 | 描 述 |
onreadystatechange | 每个状态改变时都会触发这个事件处理器,通常会调用一个 JavaScript 函数 |
readyState | 请求的状态。有 5 个可取值: 0 = 未初始化, 1 = 正在加载, 2 = 已加载, 3 = 交互中, 4 = 完成 |
responseText | 服务器的响应,表示为一个串 |
responseXML | 服务器的响应,表示为 XML 。这个对象可以解析为一个 DOM 对象 |
status | 服务器的 HTTP 状态码( 200 对应 OK , 404 对应 Not Found (未找到),等等) |
statusText | HTTP 状态码的相应文本( OK 或 Not Found (未找到 |
一般地,当改变服务器上的状态时应当使用 POST 方法。不同于 GET ,需要设置 XML- HttpRequest 对象的 Content-Type 首部,如下所示:
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");