httpServletRequest的异步调用,多个.do请求

当一个页面的按钮超链接到另外一个页面时,而这个页面的数据,是通过不同的多个.do请求来填充数据时,要用到异步调用。且用到

var tmpInterval=window.setInterval("getEveryPageInfo()",1000);//定时处理。



function getEveryPageInfo(){
if (最后){
window.clearInterval(tmpInterval);
页面处理最后的处理
return ;
}

var request=Request
sendRequest(request,Url);//异步请求过程。(本人对回调进行了封装)
}
}。





function sendRequest(request,url){
request.reSend(url,"",callBackInfo);
}
var Request = new function(){
this.pool = new Array();
this.getXMLHttp = function (){
for (var i = 0; i < this.pool.length; i++){
if (this.pool[i]["obj"].readyState == 0 || this.pool[i]["obj"].readyState == 4){
return this.pool[i]["obj"];
}
}
this.pool[this.pool.length] = new Array();
this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
return this.pool[this.pool.length - 1]["obj"];
}

this.createXMLHttp = function (){
if(window.XMLHttpRequest){
var xmlObj = new XMLHttpRequest();
}
else{
var MSXML = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var n = 0; n < MSXML.length; n++){
try{
var xmlObj = new ActiveXObject(MSXML[n]);
break;
}catch(e){
}
}
}

return xmlObj;
}
this.reSend = function (url,data,callback){
var objXMLHttp = this.getXMLHttp()
if(typeof(objXMLHttp) != "object"){
return ;
}
url += (url.indexOf("?") >= 0) ? "&random=" + new Date().getTime() : "?random=" + new Date().getTime();
if(data == ""){
objXMLHttp.open('GET' , url, true);
objXMLHttp.send('');
}
else{
objXMLHttp.open('POST' , url, true);
objXMLHttp.setRequestHeader("Content-Length",data.length);
objXMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
objXMLHttp.send(data);
}
if(typeof(callback) == "function" ){
objXMLHttp.onreadystatechange = function (){
if (objXMLHttp.readyState == 4){
if(objXMLHttp.status == 200 || objXMLHttp.status == 304){
callback(objXMLHttp);
}
else{
//alert("Error loading page\n"+ objXMLHttp.status +":"+ objXMLHttp.statusText);
}
objXMLHttp.abort();
}
}
}
}
}

function callBackInfo(xmlHTTP){
var reqXml=xmlHTTP.responseText;

业务处理。。。

}

执行的过程是:

一般是得到数据,在进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值