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冠亚和值如何计算 北京快乐8走势图 山西泳坛夺金微信群
北京pk10冠军技巧 pk10冠军技巧 北京pk10冠军走势图 北京pk10冠军技巧 北京pk10猜冠军技巧 北京pk10猜冠军技巧
上海时时乐走势图 苹果北京pk10开奖直播 北京pk10单吊一码倍投 北京pk10冠军彩票控 北京赛车pk10稳赚技巧
河南早餐加盟 春光早餐加盟 绝味加盟 新尚早餐加盟 早点连锁加盟店
早餐加盟店 特色早餐 五芳斋早点怎样加盟 早餐加盟费用 饮料店加盟
特色早餐 娘家早餐加盟 早点快餐加盟 早餐免费加盟 湖北早点加盟
早餐粥车加盟 早餐加盟项目 早点小吃加盟网 早点店加盟 天津早点加盟
幸运农场分析软件 体彩浙江6加1 浙江6+1规则 内蒙古快三彩票控 昨天快乐扑克3开奖结果
福建31选7今天的中奖结果 河北快三万能码走势图 时时彩平台 江苏体彩11选5 澳洲幸运5官网开奖
新疆时时彩分布图 免费重庆时时彩软件下载 加拿大三分彩 1月1日江西时时彩事件 平刷王北京赛车
12生肖表特码 澳洲三分彩开奖结果 韩国首尔快乐8开奖 陕西11选5玩法 河南快三开奖结果