Categories: Prototype Api

AJAX Request() 方法 | Prototype教程

返回到:Prototype AJAX 教程

此 AJAX 方法启动并处理 AJAX 请求。这个对象是一个通用的 AJAX 请求器:它处理请求的生命周期,处理样板,并允许您插入回调函数以满足您的自定义需求。

在可选选项散列中,您可以根据您的自定义需求使用任何回调函数,如 onComplete 和/或 onSuccess。

语法

new Ajax.Request(url[, options]);

一旦对象被创建,它就会发起请求,然后在其整个生命周期中继续处理它。定义的生命周期如下:

  • 已创建
  • 已初始化
  • 请求已发送
  • 收到响应(可能发生很多次,因为数据包进来)
  • 收到回复,请求完成

在Ajax Options 中定义了一组回调函数,它们按以下顺序触发 –

  • onCreate(这实际上是为AJAX 全局响应者保留的回调))
  • onUninitialized(映射到已创建)
  • onLoading(初始化时的映射)
  • onLoaded(发送请求后的地图)
  • onInteractive(收到响应的地图)
  • on XYZ(数字响应状态代码)、onSuccess 或 onFailure(见下文)
  • 完成时

可移植性

根据浏览器实现XMLHttpRequest的方式,一个或多个回调可能永远不会被调用。特别是,到目前为止,onLoadedonInteractive并不是 100% 安全的选择。然而,全局onCreateonUninitialized和最后两个步骤是非常有保证的。

返回值

新的 Ajax.Request

禁用和启用 PeriodicalUpdater

您可以通过简单地调用其停止方法来停止正在运行的 PeriodicalUpdater。如果你想稍后重新启用它,只需调用它的 start 方法。两者都没有争论。

例子

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "https://cdn.bootcdn.net/ajax/libs/prototype/1.7.3/prototype.min.js"></script>
      
      <script>
         function SubmitRequest() {
            new Ajax.Request('/cgi-bin/ajax.cgi', {
               method: 'get',
               onSuccess: successFunc,
               onFailure:  failureFunc
            });
         }
         function successFunc(response) {
            if (200 == response.status) {
               alert("Call is success");
            }
            var container = $('notice');
            var content = response.responseText;
            container.update(content);
         }
         function failureFunc(response) {
            alert("Call is failed" );
         }
      </script>
   </head>

   <body>
      <p>Click submit button see how current notice changes.</p>
      <br />
 
      <div id = "notice">Current Notice</div>
      <br />
      <br />
      <input type = "button" value = "Submit" onclick = "SubmitRequest();"/>
   </body>
</html>

这是ajax.cgi的内容:

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "This content is returned by AJAX cgi <br />";
print "Current Time " . localtime;

参数和 HTTP 方法

您可以将请求的参数作为选项中的参数属性传递:

new Ajax.Request('/some_url', {
   method: 'get',
   parameters: {company: 'example', limit: 12}
});

返回到:Prototype AJAX 教程

terry

这个人很懒,什么都没有留下~

Share
Published by
terry

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

4 天 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

1 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

2 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

3 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

4 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

4 周 ago