首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Ajax onreadystatechange有关问题

2011-12-30 
Ajax onreadystatechange问题script typetext/javascriptvar xmlHttp//创建一个XmlHttpRequeset对象

Ajax onreadystatechange问题
<script type="text/javascript">  
var xmlHttp;  
//创建一个XmlHttpRequeset对象  
  if(window.ActiveXObject)...{  
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
  }  
  else if(window.XMLHttpRequest)...{  
  xmlHttp = new XMLHttpRequest();  
  }  
 
//开始一个请求  
function startRequest()...{  
   
  xmlHttp.onreadystatechange = handlestatechange;  
  xmlHttp.open("GET", "SimpleRespose.aspx", true);  
  xmlHttp.Send(null);  
}  
  
function handlestatechange()...{  
  if(xmlHttp.readyState == 4)...{//描述一种"已加载"状态;此时,响应已经被完全接收。  
  if(xmlHttp.status == 200)...{//200表示成功收到  
  alert("The Server Replied with:" + xmlHttp.responseText)  
  }  
  }  
}  
</script>  

现在用一个window.interval("startRequest()",10000)每隔10秒就调用一次
startRequest函数。 在SimpleRespose.aspx的load事件里面每次都response回一个字符串。
但是只有第一次调用startRequest函数的时候才回调用handlestatechange(),这是什么原因呢?按理来说应该每open()一下,当服务器返回时就调用handlestatechange啊

[解决办法]
if(window.ActiveXObject)...{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)...{
xmlHttp = new XMLHttpRequest();
}
这段代码每次都要执行吧。

热点排行