XMLHttpRequest對象方法和屬性及實現AJAX標準樣本

來源:互聯網
上載者:User

以下列出XMLHttpRequest對象方法和屬性,紅色標記為最有可能用到的

相關方法:

abort()                                              停止當前請求

getAllResponseHeaders()                   把HTTP請求的所有響應首部作為鍵/值對返回

getResponseHeader("header")          返回指定首部的串值

open("method", "url")                       建立對伺服器的調用。

send(content)                                   向伺服器發送請求

setRequestHeader("header", "value")      把指定首部設定為所提供的值。在設定任何首部之前必須先調用open()

相關屬性:

onreadystatechange   狀態改變時都會觸發這個事件處理器,通常調用一個JavaScript函數

readyState                  請求的狀態0 = 未初始化,1 = 正在載入,2 = 已載入,3 = 互動中,4 = 完成

responseText              伺服器的響應,表示為一個串

responseXML               伺服器的響應,表示為XML。這個對象可以解析為一個DOM對象

status                          伺服器的HTTP狀態代碼(200對應OK,404對應Not Found(未找到),

statusText                   HTTP狀態代碼的相應文本(OK或Not Found(未找到)等等)

一個標準的 XMLHttpRequest對象實現ajax的步驟

<script type="text/javascript">
     var xmlHttp;

        //函數一:建立XMLHttpRequest對象

        function createXMLHttpRequest() {

        //IE不同版本

            if (window.ActiveXObject) {

                try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }

                catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}            

            }

        //非IE

            else if (window.XMLHttpRequest) {

                xmlHttp = new XMLHttpRequest();

            }

        }
              //函數二:將被調用的函數

        function startRequest () {

            createXMLHttpRequest();

            var url = "XXX.ashx?"+new Date().getTime();

            xmlHttp.onreadystatechange = handleStateChange;

            xmlHttp.open("GET", url, true);

            xmlHttp.send(null);

        }

        //函數三:狀態改變的時候觸發的事件函數

        function handleStateChange() {

            if (xmlHttp.readyState == 4) {

                if (xmlHttp.status == 200) {

                    var result = xmlHttp.responseText;

                    document.getElementById("validateMessage").innerText = result;

                }

            }

        }

    </script>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.