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