<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    pingpang

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      21 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

    網頁自動刷新功能在web網站上已經屢見不鮮了,如即時新聞信息,股票信息等,都需要不斷獲取最新信息。在傳統的web實現方式中,想要實現類似的效果,必須進行整個頁面的刷新,在網絡速度受到一定限制的情況下,這種因為一個局部變動而牽動整個頁面的處理方式顯得有些得不償失。Ajax技術的出現很好的解決了這個問題,利用Ajax技術可以實現網頁的局部刷新,只更新指定的數據,并不更新其他的數據。
       現在創建一個實例,以演示網頁的自動刷新功能,該實例模擬火車侯票大廳的顯示字幕。

    1,服務器端代碼


    該實例服務器端代碼的功能比較簡單,即產生一個隨機數,并以XML文件形式返回給客戶端。打開記事本,輸入下列代碼:

    <%@ page contentType="text/html; charset=gb2312" %>
    <%
    response.setContentType(
    "text/xml; charset=UTF-8");//設置輸出信息的格式及字符集
    response.setHeader(
    "Cache-Control","no-cache");
    out.println(
    "<response>"); 
    for(int i=0;i<2;i++){
        out.println(
    "<name>"+(int)(Math.random()*10)+"</name>");
        out.println(
    "<count>" +(int)(Math.random()*100)+ "</count>");
    }
    out.println(
    "</response>");
    out.close();
    %> 

     


    保存上述代碼,名稱為auto.jsp。在該文件中,使用java.lang包中的Math類,產生一個隨機數。

    2,客戶端代碼


    本實例客戶端代碼主要利用服務器端返回的數字,指定顯示樣式。打開記事本,輸入下列代碼

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
    <head>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    </head>
    <script language="javascript">


    var XMLHttpReq;
      
    //創建XMLHttpRequest對象       
        function createXMLHttpRequest() {
      
    if(window.XMLHttpRequest) { //Mozilla 瀏覽器
       XMLHttpReq = new XMLHttpRequest();
      }
      
    else if (window.ActiveXObject) { // IE瀏覽器
       try {
        XMLHttpReq 
    = new ActiveXObject("Msxml2.XMLHTTP");
       } 
    catch (e) {
        
    try {
         XMLHttpReq 
    = new ActiveXObject("Microsoft.XMLHTTP");
        } 
    catch (e) {}
       }
      }
     }
     
    //發送請求函數
     function sendRequest() {
      createXMLHttpRequest();
            
    var url = "auto.jsp";
      XMLHttpReq.open(
    "GET", url, true);
      XMLHttpReq.onreadystatechange 
    = processResponse;//指定響應函數
      XMLHttpReq.send(null);  // 發送請求
     }
     
    // 處理返回信息函數
        function processResponse() {
         
    if (XMLHttpReq.readyState == 4) { // 判斷對象狀態
             if (XMLHttpReq.status == 200) { // 信息已經成功返回,開始處理信息
        DisplayHot();
        setTimeout(
    "sendRequest()"1000);
                } 
    else { //頁面不正常
                    window.alert("您所請求的頁面有異常。");
                }
            }
        }
        
    function DisplayHot() {
         
    var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;
         
    var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;

               document.getElementById(
    "cheh").innerHTML = "T-"+name+"次列車"
        document.getElementById(
    "price").innerHTML = count+""
     }


    </script> 
    <body onload =sendRequest()>
    <table style="BORDER-COLLAPSE: collapse" borderColor=#5555555 cellSpacing=0 cellPadding=0 width=200     border=0>

    <TR>
       <TD align=middle bgColor=#abc2d0 height=19 colspan="2"><B>開往北京的列車</B> </TD>
    </TR>
    <tr>
       <td height="20"> 車號:</td>
       <td height="20" id="cheh"> </td>
    </tr>
    <tr>
       <td height="20"> 價格:</td>
       <td height="20" id="price"> </td>
    </tr>
    </table> 
    </body> 
     

    將上述代碼保存,名稱為autoRefresh.jsp。在該文件中,createXMLHttpRequest()函數用于創建異步調用對象;sendRequest()函數用于發送請求到客戶端;processResponse()函數用于處理服務器端的響應,在處理過程中調用DisplayHot()函數設定數據的顯示樣式。其中,setTimeout(“sendRequest()”,1000)函數的含義為每隔1秒的時間調用sendRequest()函數,該函數在Ajax頁面刷新中起了一個主導作用。DisplayHot()函數主要用于從服務器端返回的XML文件進行解析,并獲取返回數據,顯示在當前頁面。

    posted on 2012-08-12 23:03 往事隨風 閱讀(2101) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av无码专区在线| 又黄又爽的视频免费看| 久久久久亚洲AV无码去区首| 在线电影你懂的亚洲| 亚洲国产女人aaa毛片在线 | 亚洲色大成网站www永久网站| 亚洲人成影院在线高清| 777亚洲精品乱码久久久久久 | 无遮挡呻吟娇喘视频免费播放| 精品亚洲福利一区二区| 精品国产_亚洲人成在线| 日韩午夜理论免费TV影院| 69免费视频大片| 成人免费观看一区二区| 无码人妻久久一区二区三区免费丨| 青春禁区视频在线观看直播免费| 在线免费观看一级片| 免费在线观看黄网站| 亚洲欧洲精品一区二区三区| 国产成人亚洲综合色影视| 久久久久亚洲av无码专区喷水| 亚洲成a人片在线看| 国产成人精品亚洲| 色www永久免费网站| 真人做A免费观看| 亚洲中文字幕无码久久精品1| 久久久久亚洲精品无码蜜桃| 一本久久A久久免费精品不卡| 久久午夜羞羞影院免费观看| 亚洲国产小视频精品久久久三级| 亚洲∧v久久久无码精品| 亚洲综合成人婷婷五月网址| 一级做受视频免费是看美女| 老司机永久免费网站在线观看| 久久亚洲国产成人影院网站| 亚洲精品一卡2卡3卡三卡四卡| 9久热精品免费观看视频| 亚洲成人在线免费观看| 久热综合在线亚洲精品| 亚洲精品第一综合99久久| 99视频免费播放|