什麼是AJAX? AJAX:”Asynchronous JavaScript and XML”中文意思:非同步JavaScript和XML。

來源:互聯網
上載者:User

標籤:

指一種建立互動式網頁應用的網頁開發技術。

AJAX並非縮寫詞,而是由Jesse James Gaiiett創造的名詞。

 

不是指一種單一的技術,而是有機地利用了一系列相關的技術:

web標準( Standards-Based Presentation )XHTML+CSS的表示,

使用 DOM( Document Object Model )進行動態顯示及互動,

使用 XML 和 XSLT 進行資料交換及相關操作,

使用 XMLHttpRequest 進行非同步資料查詢、檢索.

AJAX優點

lAjax在本質上是一個瀏覽器端的技術lAjax技術之主要目的在於局部交換用戶端及伺服器間之資料l這個技術的主角XMLHttpRequest 的最主要特點,在於能夠不用重新載入整個版面來更新資料,也就是所謂的Refresh without Reload(輕重新整理)l與伺服器之間的溝通,完全是透過Javascript 來實行l使用XMLHttpRequest 本身傳送的資料量很小,所以反應會更快,也就讓網路程式更像一個傳統型應用程式lAJAX 就是運用Javascript 在後台悄悄幫你去跟伺服器要資料,最後再由Javascript 或DOM 來幫你呈現結果,因為所有動作都是由Javascript 代勞,所以省去了網頁重載的麻煩,使用者也感受不到等待的痛苦

1.GET方式

            1.1設定參數

            xhr.open("GET", "GetAreasByAjax.ashx?isAjax=1", true);

     1.2GET方式請求可以設定瀏覽器不使用緩衝
xhr.setRequestHeader("If-Modified-Since","0");

            1.3發送: xhr.send(null);//GET方式

  2.POST方式:
       1.1設定參數:xhr.open("POST", "GetAreasByAjax.aspx", true);
       1.2添加要求標頭:xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

            1.3發送:xhr.send("isAjax=1&na=123");//POST方式

非同步使用XMLHttpRequest對象

  非同步使用XMLHttpRequest對象時,必須使用:onreadystatechange事件。

  使用模式應該是:

1.建立該對象;-new2.設定readystatechange事件觸發一個回呼函數; -onreadystatechagne3.開啟請求;-open4.發送請求;-send

       註:在回呼函數中檢查readyState屬性,看資料是否準備就緒(是否等於4)。

u如果沒有準備好,隔一段時間再次檢查。因為資料沒有下載完時,我們無法使用它的屬性和方法。u如果已經準備好,就繼續往下執行;lreadyState屬性

  readyState屬性指出了XMLHttpRequest對象在發送/接收資料過程中所處的幾個狀態。XMLHttpRequest對象會經曆5種不同的狀態。

•0:未初始化。對象已經建立,但還未初始化,即還沒調用open方法;•1:已開啟。對象已經建立並初始化,但還未調用send方法;•2:已發送。已經調用send 方法,但該對象正在等待狀態代碼和頭的返回;•3:正在接收。已經接收了部分資料,但還不能使用該對象的屬性和方法,因為狀態和回應標頭不完整;•4:已載入。所有資料接收完畢lAJAX請求伺服器時如果伺服器出錯了怎麼辦?l編程常見錯誤•XMLHttpRequest大小寫不正確;•多寫了對圓括弧:

  正確:xHRObject.onreadystatechange =getData;

  錯誤:xHRObject.onreadystatechange =getData();

必須弄清楚,在JavaScript中:

•函數名後如果有圓括弧,意思就是將函數的傳回值賦給等號左邊的變數;•沒有圓括弧,是將函數本身賦給等號前的變數。 

 

什麼是AJAX? AJAX:”Asynchronous JavaScript and XML”中文意思:非同步JavaScript和XML。

相關文章

聯繫我們

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