AjAX學習總結

來源:互聯網
上載者:User

標籤:sof   obj   修改   ie7   接收   服務   change   return   參數   

[1] AJAX簡介
    > 全稱: Asynchronous JavaScript And XML
    > 非同步JavaScript和XML

    > AJAX就是通過JavaScript向伺服器發送請求,並接收響應,然後我們在通過DOM來修改頁面。
    > XML指的是伺服器響應的資料的格式。
    > 目前AJAX已經很少使用XML作為響應的格式。因為XML的解析效能及傳輸效能較差。

[2] 同步和非同步
    > 同步:
        當我們通過瀏覽器向伺服器發送一個請求時,瀏覽器會重新整理整個頁面。
    > 非同步:
        當我們向伺服器發送請求時,不是重新整理整個網頁,而是只重新整理網頁的一部分。

[3] XMLHttpRequest對象
    > 我們AJAX的所有操作都是圍繞著XMLHttpRequest對象進行。
    > 在XMLHttpRequest對象中封裝發送給伺服器請求報文,同時在伺服器發迴響應時,響應資訊也會在對象中封裝。
    > 如何擷取XMLHttpRequest對象
    - var xhr = new XMLHttpRequest();

[4] 使用步驟
    1.建立XMLHttpRequest對象
    大部分比較新的瀏覽器都支援的方式(IE7以上)
    var xhr = new XMLHttpRequest();
    IE6以下的
    var xhr = new ActiveXObject("Msxml2.XMLHTTP");
    IE5.5以下的
    var xhr = new ActiveXObject("Microsoft.XMLHTTP");

    通用的擷取XMLHttpRequest對象的方法:

    //寫一個擷取XHR的方法
    function getXMLHttpRequest(){
    try{
    //大部分瀏覽器都支援的方式
    return new XMLHttpRequest();
    }catch(e){
    try{
    //IE6以下瀏覽器支援的方式
    return new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
    try{
    //IE5以下的瀏覽器
    return new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e){
    alert("你是火星來的吧!你的瀏覽器不支援AJAX!");
        }

    }

    }
    }


[5].佈建要求資訊(請求地址,請求方式,請求參數)
    xhr.open(請求方式,請求地址);
    在發送post請求時,還需要設定一個要求標頭,如下:
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

[6]發送請求
xhr.send(請求體);
get請求沒有請求體,所以send中可以傳null或什麼都不傳。
post請求需要通過send來佈建要求參數。


[7].接收響應資訊
    //xhr綁定一個onreadystatechange響應函數,這個函數會在readyState屬性發生改變時調用
    xhr.onreadystatechange = function(){
    //判斷當前readyState是否為4 , 且響應狀態代碼為200
    if(xhr.readyState==4 && xhr.status==200){
    //讀取響應資訊,做相關操作。

    //如果資訊為純文字
    xhr.responseText

    //如果資訊為XML
    xhr.responseXML
     }
    };

[8] 響應資料的格式
    - 響應一個XML
    - 當我們想通過servlet給ajax返回一個比較大量的資訊,返回一個對象。
    - 返回 User :username:sunwukong age:18 gender:男
    username:sunwukgon,age:18,gender:男
    - 我們可以通過一個XML格式來返回一個大量的資訊
    <user>
    <name></name>
    <age></age>
    <gender></gender>
    </user>

- 響應一個JSON對象

 

AjAX學習總結

相關文章

聯繫我們

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