無刷新範例(表格圖)

上次說了,無刷新下拉框的應用,其實這個思路很容易擴展的,我們也可以應用於表格圖。原理就是在服務端生成html表格,客戶端定時刷新,付值就行了。

  服務端返回xml
    <PCM>
       <Data>
          <Name>
            表格表
          </Name>
       </Data>
   </PCM>

  下面是客戶端的代碼。
   1、html主要代碼
           <table>
              <tr><td><DIV id="myData"></DIV></td><td><div id="myData1"></div></td></tr>
             <tr><td><div id="myData2"></div></td><td><div id="myData3"></div></td></tr>
           </table>
用於顯示四個表格
2、js的代碼
  <script>
   var nTemp = 0;
   //取數據
   function locadData()
   {
        //一個負責發送請求另一個負責得到響應結果
    var oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
    var oDoc = new ActiveXObject("MSXML2.DOMDocument");
    oHttpReq.open("POST", "noFreshData.aspx", false);
          oHttpReq.send("");
    result = oHttpReq.responseText;
    oDoc.loadXML(result);
    items = oDoc.selectNodes("//PCM/Data");
    if(items.length > 0)
    {  
     for(i = 0;i < items.length;i ++)
     {
      if(i == 0)
      {   
         myData.innerHTML = items[0].selectSingleNode("Name").text;
      }
      if(i == 1)
      {
        myData1.innerHTML = items[1].selectSingleNode("Name").text;
      }
      if(i == 2)
      {
        myData2.innerHTML = items[2].selectSingleNode("Name").text;
      }
      if(i == 3)
      {
        myData3.innerHTML = items[3].selectSingleNode("Name").text;
      }     
     }
    }
    else
    {
     myData.innerHTML = "暫無數據!";
    }
   }
   
   //定時刷新
   function freshByTime()
   {
     //第一次加載數據不讓延時
     if(nTemp == 0)
     {
      locadData();
      nTemp ++;
      freshByTime();
     }
     else
     {
       //5秒自動刷新一次,5秒取得一次數據.
     timer = window.setInterval("locadData()",5000);
     }
   }
   
  </script>

下面是效果圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章