原型和 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物件,您可以分別使用其responseText和responseXML屬性。
您可以指定兩個回撥、一個回撥或不指定回撥,這取決於您。其他可用的回撥包括:
- 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 請求並根據響應文字更新容器的內容。 |