我想实现的功能是每两秒中自动刷新,从getinf.php中取得返回值,在当前页显示,但是问题是getinf.php中的内容变了取得的变量值不变呢??就是里面的con这个变量始终是初始化的值!不管是它自动刷新还是我手动刷新,除非重新开浏览器。
小弟初学ajax不太懂啊~!还望各位大大给看看!!
var old=null;
var timeout = window.setInterval("sendRequest()", 4000);//设定自动更新时间为2秒钟
//初始化XMLHttpRequest对象
 function createXmlHttp(){
 var xmlHttp = false;
    if (window.ActiveXObject) {
        try {xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");} 
        catch (e) {  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
    }else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest();}
return xmlHttp;
}
//异步调用update.asp页面获取结果timestamp为了不让浏览器缓存结果
function sendRequest(){
var xmlHttp = createXmlHttp();
    var url = "getinf.php";//获取房间信息的页面
    if (!xmlHttp) {
        alert("XMLHttpRequest is not Create!");
    }
    xmlHttp.open("GET", url, true);
    xmlHttp.onreadystatechange = function(){//回调函数开始
        //var tag = document.getElementById("container");
        //tag.innerHTML = "";
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
       var non= xmlHttp.responseText.split("`*");
if(old==null){old=non;alert(old);}
else{
alert("开始自动更新!");
var i=1;
for (;non[i]!=null;i++){
alert(non[i]);
if(non[i]!=old[i]){ 

var k=non[i].split("*`");

document.getElementById("room"+k[0]).className="room"+k[1];
document.getElementById("room"+k[0]).value=k[0]+"号<br />"+k[2];
}
}
old=non;
}
        }
    }//回调函数结束
xmlHttp.send(null);
xmlHttp=null;
delete xmlHttp;
}