ajax入門指南(一)

來源:互聯網
上載者:User
ajax入門指南,對開始學習ajax的朋友應該有所協助。

1.AJAX相容IE和Firefox兩大瀏覽器,出現了AJAX開發架構.
     2.AJAX開發關鍵技術:XMLHttpRequest對象,JavaScript編程技術,DOM(文件物件模型),CSS(層疊樣式表),和XSLT(可擴充樣式表轉換)
           XMLHttpRequest對象是實現Ajax應用的核心;
           JavaScript是Ajax應用在用戶端使用的指令碼語言;
           通過JavaScript和DOM的配合才能實現頁面的動態更新;
           CSS主要用於控制頁面元素的顯示樣式;
           XSLT可以將XML文檔轉換為任何形式的文檔,在Ajax應用中使用XSLT可以實現資料和頁面顯示的完全分離;
     3.XMLHttpRequest對象:
   3.1 發送請求
                  使用XMLHttpRequest對象向伺服器端發送請求的基本流程可以分為5步:
                  3.1.1   從Web表單中擷取需要的資料;
                  3.1.2   建立要串連的URL;
                  3.1.3   開啟到伺服器的串連;
                  3.1.4   設定伺服器在完成後要啟動並執行函數;
                  3.1.5   發送請求;
                  function callServer(){
                        //表單中擷取必要的資料
                        var city = document.getElementById("city").value;
                        var state = document.getElementById("state").value;
                        //只有在資料不為空白時才發出請求
                        if((city == null) (city == "")) return;
                        if((state == null) (state == "")) return;
                        //請求的URL
                        var url = "getZipCode.php?city=" + escape(city) + "&state=" + escape(state);
                        //聯絡伺服器,開啟串連
                        xmlHttp.open("GET",url,true);//"true"代表該請求是非同步
                        //佈建要求完成時的響應函數,注意這裡是請求完成時,並不是響應完成時
                        xmlHttp.onreadystatechange = updatePage;
                        //發送請求,因為已經在請求URL中添加了要發送給伺服器的資料(city和state),所以請求中 無需再發送其他資料.
                        xmlHttp.send(null);
                    }

             3.2 .處理HTTP響應
                        200:一切正常  
                        401:未經授權
                        403:禁止
                        404:沒找到
                        function updatePage(){
                            //readState == 4,表示請求成功完成
                            if(xmlHttp.readyState == 4){
                                if(xmlHttp.status == 200){
                                    var response = xmlHttp.responseText;//HTTP請求返回的常值內容
                                    document.getElementById("zipCode").value = response;
                                }else if(request.status == 404){
                                        //HTTP狀態代碼為404,無法找到資源
                                        alert("404 Not Found");
                                }else if(request.status == 403){
                                        //HTTP狀態代碼為403,資源不可用
                                        alert("403 Forbidden");
                                }else if(request.status == 401){
                                        //HTTP狀態代碼為401,未經授權
                                        alert("401 Unauthorized");
                                }
                            }
                        }

              3.3.HTTP就緒狀態
                       共有5種就緒狀態:
                        0:請求未初始化(還沒有調用XMLHttpRequest對象的open方法)

                        1:請求已經建立,但是還沒有發送(還沒有調用send方法)
                        2:請求已發送,正在處理中
                        3:請求在處理中。通常響應中已有部分資料可用了,但是伺服器還沒有完成響應的產生
                        4:響應已完成,可以擷取並且使用伺服器的響應了 



相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.