当前位置:编程学习 > JS >>

Ajax每隔一段时间执行一次代码

如题,我在写一个聊天室,由于本人知识有限,所以在后天用了一个数据库。。。

我打算是这样的,用户登录主页index.html,然后利用Ajax调用Code.asp的代码将内容写入数据库或输出到index.html页面上。。。

主要的Ajax代码:

if(window.XMLHttpRequest){
 Xml=new XMLHttpRequest();
 }else if(window.ActiveXObject){
 Xml=new ActiveXObject("Microsoft.XMLHTTP");
}
function get(data,id)
{
 if(Xml){
  Xml.open("GET",data,true);
  Xml.onreadystatechange=function(){
   if(Xml.readyState==4&&
   Xml.status==200){
    document.getElementById(id).innerHTML=Xml.responseText;
   }
  }
  Xml.send(null);
 }
}

假如要显示内容只须运行get(data,id)函数就可以了,那假如我想每隔1秒钟就运行这个函数,那我的代码要怎么写?网上说的用“setTimeout("get(data,id)",1000)”是有效果,不过只是在页面加载的那一刻运行了,之后就不动了,望高手解决

追问:能是能执行,可是,内容为什么不会变的?记录是写进数据库了,可是每次运行了get(data,id)之后,都会变回原来第一次打开的页面内容呢?

答案: function get(data,id){}  setInterval("get(data,id)",1000)   这样就行!setinterval 为自动执行  settimeout 不执行方法 就不执行了  将setinterval 放外边 就OK了  那个 记得分我点分就成了

setTimeout是执行一次。setInterval是按照指定的周期(以毫秒计)来调用函数。所以说如果你想每隔一段时间执行一次代码 得用setInterval,这里有很详细的介绍: http://baike.zhaoxi.net/view/2264133.htm

上一个:使用ajax在ssh框架中怎样实现分页
下一个:vs2008是否自带AJAX控件?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,