<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无码一区二区三区性色| 日本免费xxxx色视频| 亚洲丝袜美腿视频| 久久久久国产精品免费网站| 亚洲成人中文字幕| 91免费人成网站在线观看18| 亚洲成aⅴ人片在线观| 1024免费福利永久观看网站| 亚洲自国产拍揄拍| 免费看美女被靠到爽的视频| 国产精品亚洲专一区二区三区| 免费一级一片一毛片| 九九热久久免费视频| 久久久久亚洲AV无码专区首| 99re6热视频精品免费观看| 久久久久亚洲AV无码网站| AA免费观看的1000部电影| 国产AV无码专区亚洲AV麻豆丫| 免费人成在线观看视频播放 | 国产乱子伦精品免费无码专区| 亚洲欧美在线x视频| 中文字幕专区在线亚洲| 日本免费一区二区三区四区五六区| 亚洲综合网美国十次| 大学生高清一级毛片免费| 日韩精品视频在线观看免费| 久久九九亚洲精品| 无码中文在线二区免费| 曰批全过程免费视频观看免费软件| 亚洲精品无码久久一线| 成年人视频免费在线观看| 亚洲丰满熟女一区二区哦| 亚洲色偷偷综合亚洲AVYP| 麻豆最新国产剧情AV原创免费| 免费无码一区二区| 亚洲精品视频免费在线观看| 免费很黄很色裸乳在线观看| 午夜免费福利视频| 亚洲国产成人精品无码区花野真一 |