function getPart(){

var xmlhttp;
try{
xmlhttp=new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp=new XMLHttpRequest();
}catch(e){}
}
}
var d=new Date();
var ms=d.getMilliseconds();

var url="getpart.php?id="+ms;

xmlhttp.open("get",url,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4)
{
  if(xmlhttp.status==200)
  {
     if(xmlhttp.responseText!=""){
  document.getElementById("partdiv").innerHTML=unescape(xmlhttp.responseText);
  }
  }
  else{
  document.getElementById("partdiv").innerHTML="数据载入出错";
  }
 }
}
xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
xmlhttp.send(null);
 
 
}

重点在于在IE里,对于同一个URL地址,IE短期内是不会再去访问服务器,而是读取缓存内的内容。问题终于大白,虽然设置了轮询,但是URL一直都是同一个,IE默认的不再访问服务器了。这样事情就好办了,给URL再加个时间戳之类的参数,果然可以可以正常轮询了。


 


Comments




Leave a Reply