if (window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}
我们通过这个对象的OPEN方法向服务发送请求,
该函数声明为XMLHttpRequest.open(String method, String URL, boolean
asynchronous);
method是请求的方式,可以为GET和POST
URL是你要请求的资源
asynchronous是布尔类型,为true表示交互设置为异步
xmlObj.open("GET",URL,true);
xmlObj.send("");
调用send()(参数是空或是null)将会发起一次请求,
对于GET方式的请求,两次同样的请求将会得到相同的结果,
由于为将交互设置为异步方式,因此要为指定一个回调函数:
xmlObj.onreadystatechange = callBackFunction;
剩下的事就交给回调函数处理了。
有一点要注意了,用Servlet或JSP来响应异步请求时,
要设置reponse的contentType属性指明是XML格式:
response.setContentType("text/xml");
一切都准备好了,那我们现在来做一个简单的异步请求,并将请求返回的结果显示出来:
客户端:
function load(resource) {
if (window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
}else if (window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
}else {
return;
}
xmlObj.onreadystatechange = handleResponse;
xmlObj.open("GET",resource,true);
xmlObj.send("");
}
function handleResponse() {
var datas = xmlHttp.responseText;
document.getElementByIdx_x_x('id').innerHTML = datas;
}
}