请教利用ajax实现断网重连的功能

我有一个会不定时自动转换页面的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也是这样,怎么会这样呢?请教了!

[code="java"]

<!--

    // 创建一个XMLHTTPRequest对象
    function createXMLHTTPRequest(){
        var xmlhttp;
          if(window.ActiveXObject) {
               xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
        else if(window.XMLHTTPRequest){
           xmlhttp = new XMLHTTPRequest();
        }

        return xmlhttp;
    }

    function proc(i){
        var xmlhttp = 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]