网站地图
信息中心
利用XMLHTTP无刷新自动实时更新数据
作者:西安网站建设  来源:www.xacx.net  发表时间:2013-5-8 23:37:26  点击:1666
我们浏览网页,如果加入最新的数据.只能是等我们重新向服务器端请求时才能显示出来.但是,对于一些时效性很强的网站.传统的这种做法是不能满足的.

我们可以让程序自动刷新.定时向服务器请求数据.5秒取一次数据,10秒取一次数据.
利用xmlhttp发出请求并取得数据.传到客户端,客户端重新组织并显示数据.

<scriptlanguage="javascript">
functiongetresult()
{
/*
 *---------------getresult()-----------------
 *getresult()
 *功能:通过xmlhttp发送请求,返回结果.
 *参数:str,字符串,发送条件.
 *实例:getresult();
 *---------------getresult()-----------------
 */
   varobao=newactivexobject("microsoft.xmlhttp");
   /特殊字符:+,%,&,=,?等的传输解决办法.字符串先用escape编码的.
   /update:2004-6-112:22
   obao.open("post","server.asp",false);
   obao.send();

   varstrresult=unescape(obao.responsetext);

   vararrresult=strresult.split("###");
   removerow();
   
   for(vari=0;i<arrresult.length;i++)
   {
       arrtmp=arrresult[i].split("@@@");
       num1=arrtmp[0];
       num2=arrtmp[1];
       row1=tb.insertrow();
       cell1=row1.insertcell();
       cell1.innertext=num1;
       cell2=row1.insertcell();
       cell2.innertext=num2;
   }
}

functionremoverow()
{
   
   varirows=tb.rows.length;
   for(vari=0;i<irows-1;i++)
   {
       tb.deleterow(1);
   }
}

functionmyshow()
{

   timer=window.setinterval("getresult()",2000);
}
</script>

<body>
<p>
</p>
<tablewidth="47%"height="23" border="0"cellpadding="1"cellspacing="0"id="tb">
 <tr>
   <td>num1</td>
   <td>num2</td>
 </tr>
</table>


<%@language="javascript"%>
<%
functionopendb(sdbname)
{
/*
 *---------------opendb(sdbname)-----------------
 *opendb(sdbname)
 *功能:打开数据库sdbname,返回conn对象.
 *参数:sdbname,字符串,数据库名称.
 *实例:varconn=opendb("database.mdb");
 *---------------opendb(sdbname)-----------------
 */
   varconnstr="provider=microsoft.jet.oledb.4.0;datasource="+server.mappath(sdbname);
   varconn=server.createobject("adodb.connection");
   conn.open(connstr);
   returnconn;
}
varsresult=newarray();
varoconn=opendb("data.mdb");
/特殊字符:+,%,&,=,?等的传输解决办法.客户端字符是经过escape编码的
/所以服务器端先要经过unescape解码.
/update:2004-6-112:22
varsql="selectnum1,num2fromnumsorderbyid";
varrs=oconn.execute(sql);
while(!rs.eof)
{
   
   sresult[sresult.length]=rs("num1").value+"@@@"+rs("num2").value
   rs.movenext();
}

response.write(escape(sresult.join("###")));
%>



表nums
id,自动编号
num1,文本
num2,文本

id     num1   num2
1      20.70  20.810
2      10.5   20.5
3      12.3   300
4      132    323
5      563    56
6      20     10


本站关键词:西安网站建设| 西安网站制作| 西安网页设计| 西安网站设计| 西安网页制作 | 西安网站推广 | 西安软件开发 | 西安网站优化 | 西安做网站
公司地址:西安市高新区融鑫路3号自力集团六层
邮编:710065 业务咨询:029-89545093 技术支持:13402979816
Copyright ©2006-2012 www.xacx.net All Rights Reserved. 西安驰讯科技有限公司 保留所有权利