原型和 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 请求并根据响应文本更新容器的内容。

广告