原型和 AJAX 教程


AJAX 简介

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

要完整了解 AJAX,请阅读我们的简单AJAX 教程

AJAX 原型支持

Prototype 框架使您能够以一种非常简单、有趣且安全的方式处理 Ajax 调用(跨浏览器)。Prototype 还以智能方式处理从服务器返回的 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...') }
});

这里,两个回调在哈希中传递 -

  • 成功时
  • 失败时

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

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

  • 未初始化时
  • 加载时
  • 加载时
  • 互动式
  • 完成时
  • 异常处理

它们都与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 请求并根据响应文本更新容器的内容。