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 对象,您可以分别从该对象中使用其 responseText 和 responseXML 属性。
您可以指定两个回调,一个或一个都不指定 - 这取决于您。其他可用的回调函数有 −
- 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 请求并根据响应文本更新容器的内容。 |