原型和 AJAX 教程



AJAX 簡介

AJAX 代表非同步JavaScript 和XML。AJAX 是一種建立更好、更快、更互動式 Web 應用程式的新技術,它藉助 XML、HTML、CSS 和 JavaScript。

要完全瞭解 AJAX,請閱讀我們簡單的AJAX 教程

原型對 AJAX 的支援

原型框架使您可以非常輕鬆有趣的方式處理 Ajax 呼叫,並且這種方式也很安全(跨瀏覽器)。原型還以一種智慧的方式處理從伺服器返回的 JavaScript 程式碼,並提供用於輪詢的輔助類。

Ajax 功能包含在全域性Ajax 物件中。此物件提供所有必要的方法,以便輕鬆處理 AJAX 請求和響應。

AJAX 請求

實際請求是透過建立Ajax.Request()物件的例項來進行的。

new Ajax.Request('/some_url', { method:'get' });

第一個引數是請求的 URL;第二個是選項雜湊。method 選項指的是要使用的 HTTP 方法;預設方法是 POST。

AJAX 響應回撥

Ajax 請求預設情況下是非同步的,這意味著您必須具有回撥函式來處理來自響應的資料。在發出請求時,回撥方法會傳遞到選項雜湊中:

new Ajax.Request('/some_url', {
   method:'get',
   onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      alert("Success! \n\n" + response);
   },
   onFailure: function() { alert('Something went wrong...') }
});

這裡,兩個回撥函式都傳遞到雜湊中:

  • onSuccess
  • onFailure

根據響應的狀態,相應地呼叫上述兩個回撥中的一個。傳遞給這兩個回撥的第一個引數是本機xmlHttpRequest物件,您可以分別使用其responseTextresponseXML屬性。

您可以指定兩個回撥、一個回撥或不指定回撥,這取決於您。其他可用的回撥包括:

  • onUninitialized
  • onLoading
  • onLoaded
  • onInteractive
  • onComplete
  • onException

它們都與xmlHttpRequest傳輸的某種狀態匹配,除了onException,它在排程其他回撥時發生異常時觸發。

注意 - onUninitialized、onLoading、onLoaded 和 onInteractive 回撥並非所有瀏覽器都一致地實現。一般來說,最好避免使用這些回撥。

原型 AJAX 方法

Ajax 物件提供所有必要的方法,以便輕鬆處理 AJAX 請求和響應。以下是所有與 AJAX 相關的完整方法列表。

注意 - 請確保您至少擁有 prototype.js 1.6 版。

序號 方法和描述
1. Ajax 選項

這不是一個方法,而是詳細說明了所有 AJAX 請求者和回撥共享的核心選項。

2. Ajax.PeriodicalUpdater()

定期執行 AJAX 請求並根據響應文字更新容器的內容。

3. Ajax.Request()

啟動和處理 AJAX 請求。

4. Ajax.Responders()

關於基於原型的 AJAX 請求的每個步驟都會通知全域性偵聽器的儲存庫。

5. Ajax.Response()

作為所有 Ajax 請求回撥的第一個引數傳遞的物件。

6. Ajax.Updater()

執行 AJAX 請求並根據響應文字更新容器的內容。

廣告
© . All rights reserved.