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

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

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

    laoding
    本來我以為,隱身了別人就找不到我,沒有用的,像我這樣拉風的男人,無論走到哪里,都像在黑暗中的螢火蟲一樣,那樣的鮮明,那樣的出眾。我那憂郁的眼神,稀疏的胡茬,那微微隆起的將軍肚和親切的笑容......都深深吸引了眾人......
    posts - 0,  comments - 37,  trackbacks - 0
    最近研究了下ajax,貼出來分享下

    AJAX (異步 javascript 和 XML) 是個新產生的術語,專為描述javascript的兩項強大性能,這兩項強大性能是:
            1.無需重新裝載整個頁面便能向服務器發送請求.
      2.對XML文檔的解析和處理.

    發送HTTP請求:

    首先創造一個類實例
        try{
                         request  
    =   new  XMLHttpRequest();
                       }
    catch(trymicrosoft) {
                          
    try{
                               request 
    = new  ActiveXObject("Msxml2.XMLHTTP");
                         }
    catch(othermicrosoft){
                            
    try{
                                 request  
    =   new  ActiveXObject("Microsoft.XMLHTTP");
                               }
    catch  (failed) {
                                 request  
    =   false ;
                               }  
                         }
                       }

    得到響應后就用這句:
        request.onreadystatechange = loginCallBack;

    這里指出要用那個JS函執行,這里是loginCallBack函數,這里的函數無需括號也無需參數。

    在定義了如何處理響應后,就要發送請求了。可以調用HTTP請求類的open()和send()方法,如下所示:
    request.open("get",url,true);
    request.send(
    null);
            open()的第一個參數是HTTP請求方式 - GET,POST,HEAD 或任何服務器所支持的您想調用的方式。這個參數最好大寫,某些瀏覽器(如Firefox)可能無法處理請求。
      第二個參數是請求頁面的URL.由于自身安全特性的限制,該頁面不能為第三方域名的頁面.同時一定要保證在所有的頁面中都使用準確的域名,否則調用出錯。
      第三個參數設置請求是否為異步模式。如果是TRUE, javascript函數將繼續執行,而不等待服務器響應。
    如果第一個參數是post,send方法可以傳遞參數格式跟我們WEB開發是瀏覽器地址一回事,多個可以用&連接:??=??&??=??(用問號表示下)。

    function  loginCallBack(){
                    
    if(request.readyState  ==   4 ) 
                        
    if  (request.status  ==   200 ){ 
                              var  mess  
    =  request.responseText;                                                    
                        }
               }


    這里首先函數檢查請求的狀態,如果是4,就意味著一個完整的服務器響應已經收到了,可以處理該響應。

     readyState的值如下:
      0 (未初始化)
      1 (正在裝載)
      2 (裝載完畢)
      3 (交互中)
      4 (完成)

    然后,函數會檢查HTTP服務器響應的狀態值,是200表示狀態完整。
    當這兩個當滿足后就可以處理數據了,取得數據的方式有兩種:

    request.responseText
    request.responseXML

    第一種是以文本字符串的方式返回服務器的響應;
    第二種是以XMLDocument對象方式返回響應。

    下面來看例子:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <html>
      
    <head>   
        
    <title>My JSP 'index.jsp' starting page</title>
      
    </head>
      
      
    <body>
        
    <script type="text/javascript" language="javascript">
    function gotoSubmit(){
                getRequest();
    //獲得請求
                    if(!request){
                        alert(
    "該瀏覽器不支持XMLHttpRequest!");
                        
    return false;
                    }
                    request.onreadystatechange 
    = loginCallBack;
                    var url 
    = "index.jsp";
                     request.open(
    "post",url,false);
                     
    //request.open("get",url,true);
                     request.send(null);        
            }

            function getRequest(){      
                    
    try{
                         request  
    =   new  XMLHttpRequest();
                       }
    catch(trymicrosoft) {
                          
    try{
                               request 
    = new  ActiveXObject("Msxml2.XMLHTTP");
                         }
    catch(othermicrosoft){
                            
    try{
                                 request  
    =   new  ActiveXObject("Microsoft.XMLHTTP");
                               }
    catch  (failed) {
                                 request  
    =   false ;
                               }  
                         }
                       }
                }
                function  loginCallBack(){
                    
    if(request.readyState  ==   4 ) 
                        
    if  (request.status  ==   200 ){ 
                              var  mess  
    =  request.responseText;                                                    
                        }
               }


    </script>
    <span
        style
    ="cursor: pointer; text-decoration: underline"
        onclick
    ="gotoSubmit()">
            gotoSubmit
    </span>

      
    </body>
    </html>


    跑起工程后在這個頁面上點擊gotoSubmit,會彈出index.jsp頁面的所有內容。

    來看看處理xml文件,處理的xml文件如下:

    <?xml version="1.0" ?>
    <name>
        laoding
    </name>

    上面代碼要改的地方有兩個,第一把url換成這個xml文件的路徑,第二個地方是彈出信息的地方:
    var mess=request.responseText;
                   alert(mess);
    把這兩句換成:

    var xmldoc = request.responseXML;
    var root_node 
    = xmldoc.getElementsByTagName('name').item(0);
    alert(root_node.firstChild.data); 

    再執行程序就會看到效果了,好了,到此結束了,眼睛痛回去休息。
    posted on 2008-12-02 20:20 老丁 閱讀(264) 評論(0)  編輯  收藏 所屬分類: ajax

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


    網站導航:
     
    本博客主為學習和復習之用,無關其他,想罵人的繞道
    Email:dkm123456@126.com
    大家一起交流進步
    QQ:283582761


    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    留言簿(4)

    我參與的團隊

    文章分類(50)

    文章檔案(48)

    相冊

    朋友

    搜索

    •  

    積分與排名

    • 積分 - 96432
    • 排名 - 600

    最新評論

    主站蜘蛛池模板: 无码国产精品一区二区免费式影视| 一个人看的www免费高清| 久久国产色AV免费看| 亚洲Aⅴ无码专区在线观看q| 中文字幕无码毛片免费看| 亚洲精品成人无限看| 欧洲人成在线免费| 久久亚洲精品中文字幕| 亚洲无砖砖区免费| 久久综合久久综合亚洲| 日本久久久免费高清| 丰满亚洲大尺度无码无码专线 | 免费a级毛片高清视频不卡| 亚洲最大黄色网站| 成全视频在线观看免费高清动漫视频下载| 久久亚洲精品国产精品婷婷 | 亚洲第一永久在线观看| 91香蕉视频免费| 国产午夜亚洲精品不卡免下载| 亚洲av日韩av欧v在线天堂| 久久久久久av无码免费看大片| 亚洲va久久久噜噜噜久久男同 | 欧洲精品99毛片免费高清观看| 亚洲日韩乱码中文无码蜜桃| 国产青草视频在线观看免费影院| 国产精品久久久久久亚洲小说| 久久亚洲高清观看| 好男人www免费高清视频在线| 国产亚洲美女精品久久久久| 亚洲AV无码成人精品区蜜桃| 久久久www成人免费毛片| 成人午夜免费视频| 亚洲综合在线成人一区| 国产成人免费网站在线观看| 日本在线免费观看| 亚洲国产午夜精品理论片在线播放| 亚洲精品无码成人片在线观看 | 好吊妞在线成人免费| 中文日本免费高清| 精品亚洲成A人无码成A在线观看| 亚洲精品无码专区久久同性男|