利用XMLHTTP無重新整理自動即時更新資料

來源:互聯網
上載者:User
xml|資料|重新整理|無重新整理 傳統上,我們瀏覽網頁,如果加入最新的資料.只能是等我們重新向伺服器端請求時才能顯示出來.
但是,對於一些時效性很強的網站.傳統的這種做法是不能滿足的.

我們可以讓程式自動重新整理.定時向伺服器請求資料.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



相關關鍵詞:
相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。