新浦京娱乐场官网-301net-新浦京娱乐www.301net
做最好的网站

Ajax 重新定义了基本的浏览器使用模型

Ajax 是一种编制程序工夫,它选择 XML、JavaScript 和 Web 标准来成立中度交互性的 Web 页面,正如你在 Google Maps 和大度别的站点上所见到的页面这样。本文全面介绍了五个大致的 Ajax 例子,延着这一个思路介绍了 Ruby/Ajax 这一结缘那样成功的原因。

Ajax 定义

Ajax 代表 Asynchronous JavaScript XML。音讯框架结构师 Jesse 詹姆斯 Garrett于 二〇〇七年建议这一术语,该术语用来描述一门在夹缝中生活了近二十年的技艺。Ajax 的使用随即爆增,不论在教室、流行网址恐怕文献小说中都维系同步升高。

Ajax 重新定义了骨干的浏览器选择模型。原模型壹回表现叁个页面。Ajax 允许浏览器在页面更新的距离同服务器实行调换。那样做的平价是带来更为丰盛的客商体验,但却以增添复杂度为代价。Ajax 是那样运营的:使用 JavaScript 客户端库在客商机和劳动器间发送 XML。Ajax 开垦职员能够在任曾几何时刻从顾客机发送异步央浼,因此在服务器管理这个央浼时,顾客交互能够继续张开。上面正是Ajax 诉求的流程:

  1. 三个平地风波(如客户的鼠标点击或编制程序电火花计时器的接触)运营一个 JavaScript 函数。
  2. JavaScript 函数为局地页面实际不是整个页面创造多个伸手。JavaScript 随后通过 HTTP 将该央浼发送到 Web 服务器。
  3. 此 HTTP 乞请调用服务器上的二个剧本,如 Rails 调节器方法或 Java™ servlet。
  4. 该服务器脚本创制四个 XML 文书档案并将其回到给服务器。
  5. 在吸收接纳结果的同期,顾客机异步管理创造、更新或删除部分 Web 页面,如列表元素、div 标识或图像。

抱有 Ajax 应用程序都采用类似这种顺序的一种方法。比如,有个别应用程序允许将字典中的单词与其定义一同保存。旧式的应用程序会迫使您用贰个新的页面视图来编排定义。Ajax 允许原地编辑,它用贰个条文字段替换定义文本,然后用立异的概念来替换该表单。

Ajax 实施方案的零件是:

  • 客商端 JavaScript 库,用来治本异步须要。
  • 劳动器端 JavaScript 库,用来拍卖进来的呼吁,并组织贰个 XML 响应。
  • 客商端 JavaScript 库,用来管理生成的 XML。
  • 名叫文书档案对象模型(DOM)的库,允许对现存 Web 页面举行翻新。
  • 扶助例程,用来拍卖不可幸免的 UI 和合併问题。

事件/哀告/响应/替换模型是绝大多数 Ajax 应用程序的主干模型,但倘让你刚接触 Ajax,您一定会对 Ajax 中山大学量的可用库和那么些库之间巨大的差别认为奇怪不已。该领域中有为数相当多 Ajax 框架,它们的作用平时叠罗汉且尚未规定的胜出者。单就 Java 集镇而言,有广大库可用,富含 Echo、Dojo、DW昂科拉、谷歌(Google) Web Toolkit(GWT)、Java Web Parts、AjaxAnywhere、AjaxTags、Scriptaculous 和 Prototype。这一个框架使用完全区别的方法。一些框架试图通过变化 JavaScript 代码的 Java 库来掩藏 JavaScript,如 GWT。另一些框架致力于使 JavaScript 更易使用。一些一定地周详,如 Dom4J,而另一些则仅着力于化解好三个小标题。由于有大多风靡的新技艺,技术方案之间相互割据的排场不时会很难通晓,调节和测量试验工具、UI 实行(如 Back 开关)和睿智的费用试行的达成丰裕缓慢。Java 平台上的 Ajax 库的本领源自其各样性。那也多亏其症结所在,因为各类性导致了麻烦果决、集成方面包车型客车顾忌和复杂性。

有了 Ruby on Rails,开荒体验就一览了解不一样了,那是出于四个原因。首先,Ruby on Rails 有二个宗旨的 Web 开发平台:Ruby on Rails。其次,到前段时间结束,大繁多在 Rails 上的 Ajax 开采体验都围绕着五个着力框架:Scriptaculous 和 Prototype。Rails 方法运用运转时期码生成和定制标识,那让你不用理会复杂的 JavaScript。是时候自个儿来推行了。若是你想要在求学本文的长河中编辑代码的话,供给下载 Rails,也要下载须要的 Ajax 框架。张开你的 Rails 遭遇,跟本身一同来啊。

向来不Ajax 的简短的 Rails 应用程序

要动用 Rails 和 Ajax,将在成立五个空项目,并扭转一个有八个措施的调节器。一个调控器调节轻松的页面,另三个调控器建设构造一个Ajax 响应。键入下列代码:

rails ajax
cd ajax
script/generate controller ajax show time

第一行和第二行代码生成八个 Rails 项目,并切换到新目录。第三行代码生成二个叫作 ajax 的调控器,并查阅四个动作:show 和 time。清单 1 彰显了该调整器的代码:

清单 1. 有五个空方法的调整器

class AjaxController < ApplicationController

def show
end

def time
end
end

首先在不行使 Ajax 的景观下营造五个大约视图,然后用 Ajax 将那五个视图绑定到共同。编辑 app/views/ajax 中的 show.rhtml 视图,使它和清单 2 类似:

清单 2. 简便视图

Ajax show


Click this link to show the current "time" %>.

清单 1 和清单 2 中的代码不帮忙Ajax,但自个儿依旧会留心剖判该代码。首先,看清单 第11中学的调整器。两个空的调整器方法管理进来的 HTTP 央求。假如不掌握地显示一个视图(使用 render 方法),Rails 会展现和该办法同名的视图。由于 Scriptaculous 和 Prototype 库也采用HTTP,Rails 没有必要对标准 HTTP 方法和 Ajax 方法开展区分。

这两天将注意力转移到清单 2 中的视图。大相当多代码都以简轻巧单的 HTML 代码,只有第二行的 link_to 协助例程例外: "time" %>。

正如在超过界限 从前的稿子中所看到的那么,Ruby 用其表达式的值替代之间的代码。在这么些示例中,link-to 方法是八个变迁简单 HTML 链接的推抢例程。能够透过进行该代码看到该链接。通过键入 script/server 运营服务器,然后将浏览器指向 。您将见到图 1 中的视图:

图 1. 不关乎 Ajax 的简易客户分界面

图片 1

在浏览器中,单击菜单项来查看页面源代码(在 Internet Explorer 为 View > Source ,在 Firefox 中为 View > Page Source)。您将看到清单 3 中的代码:

清单 3. 由 show.rhtml 生成的视图

Ajax show


Click this link to show the current time.

请留心清单 3 中的链接代码。该模板让 Rails 客商不用面对冗长且便于出错的 HTML 句法。(Ajax 代码也是如此运转:使用补助方法插入 JavaScript 代码,该代码替你管理远程央求和 HTML 替换。)如若单击该链接,将见到针对 time 方法的暗中同意视图,但自己还并未有兑现它。为加以补救,请用清单 4 中的代码替换 app/controllers/ajax_controller.rb 中的 time 方法。为保持轻巧,我直接从调节器中显现视图。稍后,小编会把全路管理好并展现视图。

是一种编制程序本事,它应用 XML、JavaScript 和 Web 标准来制造中度交互性的 Web 页面,正如您在 谷歌 Maps 和大度其余站点上所见到的页面那样...

本文由新浦京娱乐场官网-301net-新浦京娱乐www.301net发布于www.301net,转载请注明出处:Ajax 重新定义了基本的浏览器使用模型

您可能还会对下面的文章感兴趣: