我有一个会不定时自动转换页面的web程序,我现在需要在每次自动转换前检查客户端是不是可以连通服务器,如果是连通了再转换页面,否则利用ajax自动重连,再我发现不会重新请求页面。请问是为什么呢?
[code="java"]
<!--
var xmlhttp;
// 创建一个XMLHTTPRequest对象
function createXMLHTTPRequest(){
if(window.ActiveXObject) {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else if(window.XMLHTTPRequest){
xmlhttp = new XMLHTTPRequest();
}
}
function proc(i){
createXMLHTTPRequest();
xmlhttp.open("get","http://localhost:8080/study/testAjax.jsp?param="+i,true);
xmlhttp.onreadystatechange = doChange;
xmlhttp.send("");
}
function doChange(){
if(xmlhttp.readyState==4){
if(xmlhttp.status!=200){
alert("服务器错误,重新连接!");
retry(5);
}else{
alert("服务器正确,进入一个新的页面!");
retry(5);
}
}
}
var limit='0:5' //定义刷新时间
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
function beginrefresh(){
if (parselimit==1){
proc(0);
}else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+"秒后重刷本页!"
else
curtime=cursec+"秒后重刷本页!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
var time = 1;
function retry(retryTime){
time = retryTime;
var retry = false;
if(retry){
proc(1);
}else{
time -=1;
if(time==1){
alert("刷新页面");
retry = true;
proc(2);
}else{
setTimeout("retry("+time+")",1000);
}
}
}
[/code]
我在testAjax.jsp这个页面中打印param只打印了param=0和param=2后就不再打印了,就算你并了tomcat也是这样,怎么会这样呢?请教了!