XMLHTTPRequest的属性和方法简介
2013-12-25 14:40
435 查看
<html>
<head>
<title>XMLHTTPRequest对象的说明DEMO</title>
<script language="javascript"
type="text/javascript">
<!--
var xmlhttp;
//
创建一个XMLHTTPRequest对象
function createXMLHTTPRequext(){
if(window.ActiveXObject)//
判断是否支持ActiveX控件
{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
// 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
}
else
if(window.XMLHTTPRequest)//
判断是否把XMLHTTPRequest实现为一个本地javascript对象
{
xmlhttp = new XMLHTTPRequest();//
创建XMLHTTPRequest的一个实例(本地javascript对象)
}
}
function PostOrder(xmldoc)
{
createXMLHTTPRequext();
//
方法:open
//
创建一个新的http请求,并指定此请求的方法、URL以及验证信息
//
语法:oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser,
bstrPassword);
// 参数
//
bstrMethod
//
http方法,例如:POST、GET、PUT及PROPFIND。大小写不敏感。
//
bstrUrl
//
请求的URL地址,可以为绝对地址也可以为相对地址。
//
varAsync[可选]
//
布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
//
bstrUser[可选]
//
如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。
//
bstrPassword[可选]
//
验证信息中的密码部分,如果用户名为空,则此值将被忽略。
//
备注:调用此方法后,可以调用send方法向服务器发送数据。
xmlhttp.Open("get", "http://localhost/example.htm",
false);
// var book =
xmlhttp.responseXML.selectSingleNode("//book[@id='bk101']");
//
alert(book.xml);
//
属性:onreadystatechange
//
onreadystatechange:指定当readyState属性改变时的事件处理句柄
//
语法:oXMLHttpRequest.onreadystatechange = funcMyHandler;
//
如下的例子演示当XMLHTTPRequest对象的readyState属性改变时调用HandleStateChange函数,
//
当数据接收完毕后(readystate == 4)此页面上的一个按钮将被激活
//
备注:此属性只写,为W3C文档对象模型的扩展.
xmlhttp.onreadystatechange=
HandleStateChange;
//
方法:send
//
发送请求到http服务器并接收回应
//
语法:oXMLHttpRequest.send(varBody);
//
参数:varBody (欲通过此请求发送的数据。)
//
备注:此方法的同步或异步方式取决于open方法中的bAsync参数,如果bAsync ==
False,此方法将会等待请求完成或者超时时才会返回,如果bAsync ==
True,此方法将立即返回。
//
如果发送的数据为BSTR,则回应被编码为utf-8,
必须在适当位置设置一个包含charset的文档类型头。
//
如果发送的数据为XML DOM
object,则回应将被编码为在xml文档中声明的编码,如果在xml文档中没有声明编码,则使用默认的UTF-8。
xmlhttp.Send(xmldoc);
//
方法:getAllResponseHeaders
//
获取响应的所有http头
//
语法:strValue = oXMLHttpRequest.getAllResponseHeaders();
//
备注:每个http头名称和值用冒号分割,并以\r\n结束。当send方法完成后才可调用该方法。
alert(xmlhttp.getAllResponseHeaders());
//
方法:getResponseHeader
//
从响应信息中获取指定的http头
//
语法:strValue = oXMLHttpRequest.getResponseHeader(bstrHeader);
//
备注:当send方法成功后才可调用该方法。如果服务器返回的文档类型为"text/xml", 则这句话
//
xmlhttp.getResponseHeader("Content-Type");将返回字符串"text/xml"。可以使用getAllResponseHeaders方法获取完整的http头信息。
alert(xmlhttp.getResponseHeader("Content-Type")); //
输出http头中的Content-Type列:当前web服务器的版本及名称。
document.frmTest.myButton.disabled =
true;
// 方法:abort
//
取消当前请求
//
语法:oXMLHttpRequest.abort();
//
备注:调用此方法后,当前请求返回UNINITIALIZED 状态。
//
xmlhttp.abort();
//
方法:setRequestHeader
//
单独指定请求的某个http头
//
语法:oXMLHttpRequest.setRequestHeader(bstrHeader, bstrValue);
//
参数:bstrHeader(字符串,头名称。)
//
bstrValue(字符串,值。)
//
备注:如果已经存在已此名称命名的http头,则覆盖之。此方法必须在open方法后调用。
//
xmlhttp.setRequestHeader(bstrHeader, bstrValue);
}
function HandleStateChange()
{
// 属性:readyState
//
返回XMLHTTP请求的当前状态
// 语法:lValue
= oXMLHttpRequest.readyState;
//
备注:变量,此属性只读,状态用长度为4的整型表示.定义如下:
// 0 (未初始化)
对象已建立,但是尚未初始化(尚未调用open方法)
// 1 (初始化)
对象已建立,尚未调用send方法
// 2 (发送数据)
send方法已调用,但是当前的状态及http头未知
// 3 (数据传送中)
已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
// 4 (完成)
数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
if (xmlhttp.readyState == 4){
document.frmTest.myButton.disabled =
false;
// 属性:responseBody
// 返回某一格式的服务器响应数据
// 语法:strValue = oXMLHttpRequest.responseBody;
// 备注:变量,此属性只读,以unsigned array格式表示直接从服务器返回的未经解码的二进制数据。
alert(xmlhttp.responseBody);
// 属性:responseStream
// 以Ado Stream对象的形式返回响应信息
// 语法:strValue = oXMLHttpRequest.responseStream;
// 备注:变量,此属性只读,以Ado Stream对象的形式返回响应信息。
alert(xmlhttp.responseStream);
<head>
<title>XMLHTTPRequest对象的说明DEMO</title>
<script language="javascript"
type="text/javascript">
<!--
var xmlhttp;
//
创建一个XMLHTTPRequest对象
function createXMLHTTPRequext(){
if(window.ActiveXObject)//
判断是否支持ActiveX控件
{
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
// 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
}
else
if(window.XMLHTTPRequest)//
判断是否把XMLHTTPRequest实现为一个本地javascript对象
{
xmlhttp = new XMLHTTPRequest();//
创建XMLHTTPRequest的一个实例(本地javascript对象)
}
}
function PostOrder(xmldoc)
{
createXMLHTTPRequext();
//
方法:open
//
创建一个新的http请求,并指定此请求的方法、URL以及验证信息
//
语法:oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser,
bstrPassword);
// 参数
//
bstrMethod
//
http方法,例如:POST、GET、PUT及PROPFIND。大小写不敏感。
//
bstrUrl
//
请求的URL地址,可以为绝对地址也可以为相对地址。
//
varAsync[可选]
//
布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
//
bstrUser[可选]
//
如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。
//
bstrPassword[可选]
//
验证信息中的密码部分,如果用户名为空,则此值将被忽略。
//
备注:调用此方法后,可以调用send方法向服务器发送数据。
xmlhttp.Open("get", "http://localhost/example.htm",
false);
// var book =
xmlhttp.responseXML.selectSingleNode("//book[@id='bk101']");
//
alert(book.xml);
//
属性:onreadystatechange
//
onreadystatechange:指定当readyState属性改变时的事件处理句柄
//
语法:oXMLHttpRequest.onreadystatechange = funcMyHandler;
//
如下的例子演示当XMLHTTPRequest对象的readyState属性改变时调用HandleStateChange函数,
//
当数据接收完毕后(readystate == 4)此页面上的一个按钮将被激活
//
备注:此属性只写,为W3C文档对象模型的扩展.
xmlhttp.onreadystatechange=
HandleStateChange;
//
方法:send
//
发送请求到http服务器并接收回应
//
语法:oXMLHttpRequest.send(varBody);
//
参数:varBody (欲通过此请求发送的数据。)
//
备注:此方法的同步或异步方式取决于open方法中的bAsync参数,如果bAsync ==
False,此方法将会等待请求完成或者超时时才会返回,如果bAsync ==
True,此方法将立即返回。
//
如果发送的数据为BSTR,则回应被编码为utf-8,
必须在适当位置设置一个包含charset的文档类型头。
//
如果发送的数据为XML DOM
object,则回应将被编码为在xml文档中声明的编码,如果在xml文档中没有声明编码,则使用默认的UTF-8。
xmlhttp.Send(xmldoc);
//
方法:getAllResponseHeaders
//
获取响应的所有http头
//
语法:strValue = oXMLHttpRequest.getAllResponseHeaders();
//
备注:每个http头名称和值用冒号分割,并以\r\n结束。当send方法完成后才可调用该方法。
alert(xmlhttp.getAllResponseHeaders());
//
方法:getResponseHeader
//
从响应信息中获取指定的http头
//
语法:strValue = oXMLHttpRequest.getResponseHeader(bstrHeader);
//
备注:当send方法成功后才可调用该方法。如果服务器返回的文档类型为"text/xml", 则这句话
//
xmlhttp.getResponseHeader("Content-Type");将返回字符串"text/xml"。可以使用getAllResponseHeaders方法获取完整的http头信息。
alert(xmlhttp.getResponseHeader("Content-Type")); //
输出http头中的Content-Type列:当前web服务器的版本及名称。
document.frmTest.myButton.disabled =
true;
// 方法:abort
//
取消当前请求
//
语法:oXMLHttpRequest.abort();
//
备注:调用此方法后,当前请求返回UNINITIALIZED 状态。
//
xmlhttp.abort();
//
方法:setRequestHeader
//
单独指定请求的某个http头
//
语法:oXMLHttpRequest.setRequestHeader(bstrHeader, bstrValue);
//
参数:bstrHeader(字符串,头名称。)
//
bstrValue(字符串,值。)
//
备注:如果已经存在已此名称命名的http头,则覆盖之。此方法必须在open方法后调用。
//
xmlhttp.setRequestHeader(bstrHeader, bstrValue);
}
function HandleStateChange()
{
// 属性:readyState
//
返回XMLHTTP请求的当前状态
// 语法:lValue
= oXMLHttpRequest.readyState;
//
备注:变量,此属性只读,状态用长度为4的整型表示.定义如下:
// 0 (未初始化)
对象已建立,但是尚未初始化(尚未调用open方法)
// 1 (初始化)
对象已建立,尚未调用send方法
// 2 (发送数据)
send方法已调用,但是当前的状态及http头未知
// 3 (数据传送中)
已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
// 4 (完成)
数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
if (xmlhttp.readyState == 4){
document.frmTest.myButton.disabled =
false;
// 属性:responseBody
// 返回某一格式的服务器响应数据
// 语法:strValue = oXMLHttpRequest.responseBody;
// 备注:变量,此属性只读,以unsigned array格式表示直接从服务器返回的未经解码的二进制数据。
alert(xmlhttp.responseBody);
// 属性:responseStream
// 以Ado Stream对象的形式返回响应信息
// 语法:strValue = oXMLHttpRequest.responseStream;
// 备注:变量,此属性只读,以Ado Stream对象的形式返回响应信息。
alert(xmlhttp.responseStream);
相关文章推荐
- XMLHTTPRequest的属性和方法简介
- 转载---XMLHTTP Request 的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- 分享:XML HTTP Request的属性和方法简介
- XMLHTTPRequest的属性和方法简介
- XML HTTP Request的属性和方法简介-ASP编程教程
- [转]XMLHTTPRequest的属性和方法简介
- XMLHTTPRequest的属性和方法简介