📜  Prototype和AJAX教程

📅  最后修改于: 2020-10-21 08:47:56             🧑  作者: Mango


 

AJAX简介

AJAX代表同步JA vaScript和X ML。 AJAX是一项新技术,可借助XML,HTML,CSS和Java Script创建更好,更快,更具交互性的Web应用程序。

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

对AJAX的Prototype支持

原型框架使您能够以一种非常简单和有趣的方式来处理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...') }
});

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

  • 成功
  • 失败

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

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

  • on未初始化
  • onLoading
  • 载入中
  • onInteractive
  • onComplete
  • onException

它们都符合xmlHttpRequest传输的某个状态,但onException除外,后者在调度其他回调时发生异常时触发。

–并非所有浏览器都一致地实现onUninitialized,onLoading,onLoaded和onInteractive回调。通常,最好避免使用它们。

原型AJAX方法

Ajax对象提供了所有简单的方法来处理AJAX请求和响应。这是与AJAX相关的所有方法的完整列表。

注意-确保您至少具有1.6版的prototype.js。

S.No. Method & Description
1. Ajax Options

This is not a method but details all core options shared by all AJAX requesters and callbacks.

2. Ajax.PeriodicalUpdater()

Periodically performs an AJAX request and updates a container’s contents based on the response text.

3. Ajax.Request()

Initiates and processes an AJAX request.

4. Ajax.Responders()

A repository of global listeners notified about every step of Prototype-based AJAX requests.

5. Ajax.Response()

The object passed as the first argument of all Ajax requests callbacks.

6. Ajax.Updater()

Performs an AJAX request and updates a container’s contents based on the response text.