Ajax篇
XMLDocument和XMLHttpRequest对象
第一:创建XMLHttpRequest请求对象
代码如下:
function getXMLHttpRequest() {
var xRequest=null;
if(window.XMLHttpRequest) {
xRequest=new XMLHttpRequest();
}else if(typeof ActiveXObject != "undefined"){
xRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
return xRequest;
}
或者:
代码如下:
var request=null;
function createRequest() {
try {
request=new XMLHttpRequest(); //非Microsoft IE浏览器
} catch (trymicrosoft) { //Microsoft IE
try {
request=new ActiveXObject(“Msxml2.XMLHTTP”);
} catch (othermicrosoft) {
try {
request=new ActiveXObject(“Microsoft.XMLHTTP”);
} catch (failed) {
request=null;
}
}
}
if (request==null)
alert(“Error creating request object!”);
}
[code]
这个独立的创建XMLHttpRequest请求对象的函数就可以被调用了。
注意:XMlHTTP对象不是W3C标准,因此在创建时要分别考虑不同浏览器环境的支持。
XMLHTTP对象一共就6个方法8个属性,支持两种执行模式:同步和异步。
XMLHTTP对象的属性和方法列表(来自IXMLHTTPRequest接口): 属性名
类型
描述
onreadystatechange
N/A
指定当就绪状态发生改变时调用的事件处理函数,仅用于异步操作
readyState
Long
异步操作的状态:未初始化(0),正在加载(1),已加载(2),交互(3),已完成(4)
responseBody
Variant
将响应信息正文作为unsigned byte数组返回
responseStream
Variant
将响应信息正文作为一个ADO Stream对象返回
responseText
String
将响应信息正文作为一个文本字符串返回
responseXML
Object
通过XMLDom将响应信息正文解析为XMLDocument对象
status
Long
服务器返回的HTTP状态码
statusText
String
服务器HTTP响应行状态
方法名
描述
abort
取消当前 HTTP 请求
getAllResponseHeaders
从响应信息中检索所有的首部字段
getResponseHeader
从响应信息正文中获得一个 HTTP 首部字段值
open(method,url,boolAsync,bstrUser,bstrPassword)
打开一个与 HTTP 服务器的连接
send(varBody)
向HTTP服务器发送请求。可包含正文。
setRequestHeader(bstrHeader, bstrValue)
设定一个请求的首部字段
第二:向服务器发送请求
通过XMLHttpRequest对象向服务器发送请求是非常简单,只需要给它传递一个服务器页面的URL,这个页面将生成数据。
[code]
function sendRequest(url,params,HttpMethod) {
if(!HttpMethod){
HttpMethod="POST";
}
var req=getXMLHttpRequest();
if(req){
req.open(HttpMethod,url,true);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send(params);
}
}
通过以上代码对请求进行设置后,会立即将控制权返回给我们,与此同时网络和服务器则忙着执行它们自己的任务。
新闻热点
疑难解答