Prototype 和 AJAX 教程

AJAX 简介

AJAX 代表 A同步 JavaScript 和 XML。AJAX 是一种借助 XML、HTML、CSS 和 Java Script 创建更好、更快、更具交互性的 Web 应用程序的新技术。

要全面了解 AJAX,请阅读我们简单的 AJAX 教程

Prototype 对 AJAX 的支持

Prototype 框架使您能够以非常简单、有趣且安全(跨浏览器)的方式处理 Ajax 调用。 Prototype 还以智能方式处理从服务器返回的 JavaScript 代码,并提供用于轮询的辅助类。

Ajax 功能包含在全局 Ajax 对象 中。此对象提供了所有必要的方法,可轻松处理 AJAX 请求和响应。

AJAX 请求

实际请求是通过创建 Ajax.Request() 对象的实例进行的。

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

第一个参数是请求的 URL;第二个参数是选项哈希。方法选项指的是要使用的 HTTP 方法;默认方法是 POST。

AJAX 响应回调

Ajax 请求默认是异步的,这意味着您必须有回调来处理来自响应的数据。在发出请求时,回调方法在选项哈希中传递 −

new Ajax.Request('/some_url', {
   method:'get',
   onSuccess: function(transport) {
      var response = transport.responseText || "no response text";
      alert("Success! 

" + response);
   },
   onFailure: function() { alert('Something went wrong...') }
});

此处,两个回调在哈希 − 中传递

  • onSuccess
  • onFailure

上述两个调用中的任何一个都会根据响应的状态进行相应调用。传递给两者的第一个参数是本机 xmlHttpRequest 对象,您可以分别从该对象中使用其 responseTextresponseXML 属性。

您可以指定两个回调,一个或一个都不指定 - 这取决于您。其他可用的回调函数有 −

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

它们都与 xmlHttpRequest 传输的某个状态相匹配,但 onException 除外,它在调度其他回调函数时发生异常时触发。

注意 − 并非所有浏览器都一致地实现了 onUninitialized、onLoading、onLoaded 和 onInteractive 回调函数。一般来说,最好避免使用这些回调函数。

Prototype AJAX 方法

Ajax 对象 提供了所有必要的方法,可轻松处理 AJAX 请求和响应。以下是与 AJAX 相关的所有方法的完整列表。

注意 − 确保您至少拥有 1.6 版的prototype.js。

S.No. 方法 &描述
1. Ajax 选项

这不是一个方法,但详细说明了所有 AJAX 请求者和回调共享的所有核心选项。

2. Ajax.PeriodicalUpdater()

定期执行 AJAX 请求并根据响应文本更新容器的内容。

3. Ajax.Request()

发起并处理 AJAX 请求。

4. Ajax.Responders()

一个全局监听器的存储库,用于通知基于 Prototype 的 AJAX 请求的每个步骤。

5. Ajax.Response()

作为所有 Ajax 请求回调的第一个参数传递的对象。

6. Ajax.Updater()

执行 AJAX 请求并根据响应文本更新容器的内容。