您正在查看: XmlHttp 分类下的文章

open-XMLHTTP对象参考

open

创建一个新的http请求,并指定此请求的方法、URL以及验证信息

语法
oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);
参数

bstrMethod
http方法,例如:POST、GET、PUT及PROPFIND。大小写不敏感。

bstrUrl
请求的URL地址,可以为绝对地址也可以为相对地址。

varAsync[可选]
布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。

bstrUser[可选]
如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。

bstrPassword[可选]
验证信息中的密码部分,如果用户名为空,则此值将被忽略。

Example 下面的例子演示从服务器请求book.xml,并显示其中的book字段。
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET","http://localhost/books.xml", false);
xmlhttp.send();
var book = xmlhttp.responseXML.selectSingleNode("//book[@id='bk101']");
alert(book.xml);
备注

调用此方法后,可以调用send方法向服务器发送数据。

参考

abort 方法
onreadystatechange 属性
XMLHTTPRequest 对象

readystate-XMLHTTP对象参考

readyState

返回XMLHTTP请求的当前状态

语法
lValue = oXMLHttpRequest.readyState;
Example
var XmlHttp;
XmlHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");

function send() {
XmlHttp.onreadystatechange = doHttpReadyStateChange;
XmlHttp.open("GET", "http://localhost/sample.xml", true);
XmlHttp.send();
}

function doHttpReadyStateChange() {
if (XmlHttp.readyState == 4) {
alert("Done");
}
}

备注

变量,此属性只读,状态用长度为4的整型表示.定义如下:

0 (未初始化)对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化)对象已建立,尚未调用send方法
2 (发送数据)send方法已调用,但是当前的状态及http头未知
3 (数据传送中)已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成)数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
参考

open 方法
responseBody 属性
responseText 属性
send 方法
status 属性
statusText 属性

responsebody-XMLHTTP对象参考

responseBody

返回某一格式的服务器响应数据

语法
strValue = oXMLHttpRequest.responseBody;
Example
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://localhost/books.xml", false);
xmlhttp.send();
alert(xmlhttp.responseBody);
备注

变量,此属性只读,以unsigned array格式表示直接从服务器返回的未经解码的二进制数据。

参考

responseStream 属性
responseText 属性
responseXML 属性

abort-XMLHTTP对象参考

abort

取消当前请求

语法
oXMLHttpRequest.abort();
备注

调用此方法后,当前请求返回UNINITIALIZED 状态。

参考

readyState 属性
open 方法

getallresponseheaders-XMLHTTP对象参考

getAllResponseHeaders

获取响应的所有http头

语法
strValue = oXMLHttpRequest.getAllResponseHeaders();
Example
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://localhost/sample.xml", false);
xmlhttp.send();
alert(xmlhttp.getAllResponseHeaders());
输出由web服务器返回的http头信息,example:
Server:Microsoft-IIS/5.1
X-Powered-By:ASP.NET
Date:Sat, 07 Jun 2003 23:23:06 GMT
Content-Type:text/xml
Accept-Ranges:bytes
Last Modified:Sat, 06 Jun 2003 17:19:04 GMT
ETag:"a0e2eeba4f2cc31:97f"
Content-Length:9
备注

每个http头名称和值用冒号分割,并以\r\n结束。当send方法完成后才可调用该方法。

参考

send 方法
getResponseHeader 方法
setRequestHeader 方法