varxmlHttpRequest;
varcurrentTotalBarAmount="";
functionsendAsynchronousRequest(){
xmlHttpRequest=createXMLHttpRequest();
xmlHttpRequest.onreadystatechange=processXMLHttpResponse_SecondTime;
varrequestServerURL="${pageContext.request.contextPath}/responeTaskProgressServlet.action?
taskActionType=getCurrentStatus";
xmlHttpRequest.open("GET",requestServerURL,true);
xmlHttpRequest.send(null);
}
functioncreateXMLHttpRequest(){
varlocalXMLHttpRequest;
if(window.XMLHttpRequest){
/**
*
*表示用户的浏览器为fireFox等非IE系列,则应用XMLHttpRequest对象模板创建出对象实例
*/
localXMLHttpRequest=newXMLHttpRequest();
}
elseif(window.ActiveXObject){
/**
*
*表示用户的浏览器为IE系列,则应用ActiveXObject对象模板创建出对象实例
*/
try{
localXMLHttpRequest=newActiveXObject("Msxml2.XMLHTTP");
}
catch(e){
try{
localXMLHttpRequest=newActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
window.alert("你的IE浏览器不支持XMLHttpRequest相关的技术实现!
");
}
}
}
returnlocalXMLHttpRequest;
}
functionprocessXMLHttpResponse_SecondTime(){
if(xmlHttpRequest.readyState==4){
if(xmlHttpRequest.status==200){
showCurrentTaskProgress();
}
elseif(xmlHttpRequest.status==400){
window.alert("你的请求无效!
");
}
elseif(xmlHttpRequest.status==404){
window.alert("你向服务端程序请求的URL不正确,未找到请求的目标文件!
");
}
elseif(xmlHttpRequest.status==500){
window.alert("服务器由于遇到错误而不能完成该请求!
");
}
elseif(xmlHttpRequest.status==505){
window.alert("HTTP版本不受支持!
");
}
else{
window.alert("出现了其它不知名的错误!
");
}
}
}
functionshowCurrentTaskProgress(){
/**
获得服务器端程序返回的XML文档数据所对应的DOM对象
*/
varxmlDOMReturnResult=xmlHttpRequest.responseXML;
/**
获得XML文档中指定标签名称的标签中所包含的数据,该数据为任务进度量
*/
varbarConterValue=
xmlDOMReturnResult.getElementsByTagName("currentPercent")[0].firstChild.data;
currentTotalBarAmount=currentTotalBarAmount+"||";
document.getElementById("displayLoadingChartTextID").innerHTML=
"载入中..."+currentTotalBarAmount;
document.getElementById("displayPercentValueTextID").innerHTML=
barConterValue+"%";
if(barConterValue>99){
window.location.href="#";//任务结束时自动跳转到目标页面中
}
else{
setTimeout("sendAsynchronousRequest()",1000);
}
}