XMLHTTP无刷新自动实时更新数据
北京pk10冠军技 发布时间:03-31 来源:鹏鹏编程网 浏览:68次
  传统上,我们浏览网页,如果加入最新的数据。只能是等我们重新向服务器端请求时才能显示出来。但是,对于一些时效性很强的网站,传统的这种做法是不能满足的。

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

  demo.htm 前台显示

<script language="JavaScript">
function GetResult()
{/**--------------- GetResult() -----------------* 
GetResult() * 功能:通过XMLHTTP发送请求,返回结果.
* 参数:str,字符串,发送条件.* 实例:GetResult();
*--------------- GetResult() -----------------*
/var oBao = new ActiveXObject("Microsoft.XMLHTTP");
//特殊字符:+,%,&,=,?等的传输解决办法.字符串先用escape编码的.
//Update:2004-6-1 12:22oBao.open("POST","Server.asp",false);
oBao.send();//服务器端处理返回的是经过escape编码的字符串.
var strResult = unescape(oBao.responseText);
//将字符串分开.var arrResult = strResult.split("###");RemoveRow();
 //删除以前的数据.//将取得的字符串分开,并写入表格中.
for(var i=0;i<arrResult.length;i++){arrTmp
 = arrResult[i].split("@@@");num1 = arrTmp[0]; 
//字段num1的值num2 = arrTmp[1]; //字段num2的值row1
 = tb.insertRow();cell1 = row1.insertCell();cell1.innerText
 = num1;cell2 = row1.insertCell();cell2.innerText = num2;
}}function RemoveRow(){//保留第一行表头,其余数据均删除.
var iRows = tb.rows.length;for(var i=0;i<iRows-1;i++)
{tb.deleteRow(1);}}function MyShow(){//2秒自动刷新一次,
2秒取得一次数据.timer = window.setInterval("GetResult()",2000);
}</script><body onload="MyShow()"><p></p><table width="47%" 
height="23" border="0" cellpadding="1" cellspacing="0"
id="tb"><tr><td>num1</td><td>num2</td></tr></table>


  Server.asp 后台读取数据 

<% @Language="JavaScript" %>
<%function OpenDB(sdbname)
{/**--------------- OpenDB(sdbname) -----------------*
 OpenDB(sdbname) * 功能:打开数据库sdbname,返回conn对象.
* 参数:sdbname,字符串,数据库名称.* 实例:var conn 
= OpenDB("database.mdb");*--------------- 
OpenDB(sdbname) -----------------*/var connstr 
= "Provider=Microsoft.Jet.OLEDB.4.0; Data Source
="+Server.MapPath(sdbname);var conn = Server.
CreateObject("ADODB.Connection");conn.Open(connstr);
return conn;}var sResult = new Array();var oConn = OpenDB("data.mdb");
//特殊字符:+,%,&,=,?等的传输解决办法.
客户端字符是经过escape编码的//所以服务器端先要经过unescape解码.
//Update:2004-6-1 12:22var sql = "select num1,
num2 from nums order by id";
var rs = oConn.Execute(sql);while(!rs.EOF){
//一条记录用"###"隔开.每列数据用"@@@"隔开. 
这是以只有两个列数据的情况.sResult[sResult.length]
 = rs("num1").Value + "@@@" + rs("num2").Valuers.MoveNext();
}//escape解决了XMLHTTP。中文处理的问题.Response.
Write(escape(sResult.join("###")));%>


数据库data.mdb

表 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
如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!
上海时时乐遗留统计 北京快乐8真假 北京pk10高手技巧图文 北京快乐8转让 北京pk10彩票控开奖 北京快乐8时间
北京pk10冠亚军技巧 北京pk10冠亚军技巧 北京pk10开奖记录官网 北京pk10开奖记录官网
北京pk10冠军走势图 北京pk10只押冠军技巧 北京赛车pk10冠军公式 pk10冠军技巧 北京pk10冠军技巧
广东快乐十分遗漏统计 北京pk10万能八码技巧 上海时时乐开奖号头 北京pk10冠军选号技巧 北京赛车pk10模拟投注
早点加盟连锁 东北早餐加盟 河北早餐加盟 美味早餐加盟 早点小吃加盟连锁
早点加盟店排行榜 早餐粥店加盟 山东早餐加盟 早餐加盟网 卖早餐加盟
早点加盟网 加盟特色早点 早餐店加盟哪家好 早餐的加盟 加盟包子
口口香早点加盟 东北早餐加盟 早餐馅饼加盟 北方早餐加盟 早餐项目加盟
华东15选5奖金 北京赛车冷热号软件 北京赛车改单流程 快乐彩开奖记录 今天31选7开奖结果查询
五味斋报码聊天室 广东36选7开奖时间几点 北京pk10网上骗局新闻 福建时时彩侦破案 吉林十一选五
广西快乐十分最新开奖 稳赚方法 内蒙古十一选五开奖记录 江苏十一选五投注 四川时时彩玩法
11选5出号精准规律 时时彩提前2分钟开奖器 3438铁算盘六肖中特 天天彩选4历开奖结果 吉林快三计划软件app