AJAX技术汇总

来源:维基百科  

 CSDN    蓝色理想        

AJAX
AJAX全叫“Asynchronous JavaScript and
XML”(异步JavaScript和XML),是凭同一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种植技术:

Ajax(Asynchronous JavaScript + XML)的定义

基于web标准(standards-based presentation)XHTML+CSS的表示;
下 DOM(Document Object Model)进行动态显示及相;
使用 XML 和 XSLT 进行数据交换及有关操作;
应用 XMLHttpRequest 进行异步数据查询、检索;
采用 JavaScript 将有着的物绑定在一齐。
看似于DHTML或LAMP,AJAX不是负同一栽单一的技艺,而是有机地使用了同一多元有关的技术。事实上,一些根据AJAX的“派生/合成”式(derivative/composite)的技能正在出现,如“AFLAX”。

AJAX的应用使用支持上述技术之web浏览器作为运行平台。这些浏览器目前连:Mozilla、Firefox、Internet
Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也非支持XSLT。[1]

及习俗的web应用比较
习俗的web应用允许用户填写表单(form),当提交表单时即往web服务器发送一个央。服务器收到并处理传来的表单,然后回一个新的网页。这个做法浪费了累累拉动富,因为在内外两单页面中之大部分HTML代码往往是一样的。由于每次用的互相都需要向服务器发送请求,应用的响应时间即凭借让服务器的应时间。这致使了用户界面的响应比本地利用慢得差不多。

以及这不同,AJAX应用可以单独向服务器发送并收复必需的多少,它以SOAP或另一些因XML的web
service接口,并当客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数大量减,结果我们就是会来看响应更快之运。同时广大之拍卖工作可以在发出请求的客户端机器及完成,所以Web服务器的拍卖时为抽了。
图片 1
传统web应用和AJAX应用的可比:处理用户交互

图片 2
风web应用及AJAX应用的比较:交互模式

微软的Ajax
  微软时时对此由此Ajax风格的编程在浏览器被落实日益盛行的富客户端应用比较感兴趣。今后之IE中将有Ajax的备东西——DHTML、JScript和XmlHttp。实际上Outlook
Web Acces从1998年始便已提供了这种巨大的浏览体验了。在ASP.NET
2.0惨遭,微软利用异步回调及舒适的Ajax风格的应用程序的编排更加简约,并且,微软吗者提供了内建的控件。
  最近,几乎所有的浏览器还提供了Ajax所用的技能,使用这种模式的富客户端应用程序也持续出新。今天,世界上面世了数以万计的Ajax风格的站点,包括Google的博站点、A9和Flickr。微软的累累站点为利用了这项技术,如Start.com和MSN虚拟地球。
  Ajax的风行说明用户对于增长的Web体验的求增长。然而,开发暨调剂Ajax风格的Web应用程序是一样桩好拮据的干活。要编一个增长的Web
UI,开发者需要详细地操纵DHTML和JavaScript,并且还要控制各种浏览器中在规划细节及之不比。然而没那些家伙能够简化这些应用程序的统筹和开支。最后,调试以及测试这些应用程序会更换得死困难。
  微软从为简化Ajax风格Web应用之出,并提供丰富的、可彼此的以及个性化的用户体验。开发者可以针对客户端脚本不甚了解;但她们好生易地开发同调试这种应用程序。
  出于这无异目的,微软开动了一个初的种,研发代号“Atlas”。Atlas为支付这带来了之类特点:
  ·Atlas客户端脚论框架
  ·Atlas的ASP.NET服务器控件
  ·ASP.NET Web Services集成
  ·Atlas的ASP.NET构建块
  ·客户端构建块服务
  你可能会问的一个问题是,Atlas如何在Avalon和智能客户端上应用?
  我们好看看,Atlas是编写丰富的、可相互的和个性化的Web浏览器应用程序的尽好法子。而Avalon是微软的后进表现层模型,可以在Windows平台上提供极丰富的用户体验。Avalon将祭时的传媒并力量和硬件加速设备,提供一流的视觉体验。Avalon将牵动过浏览器的体会。
  当然,当你构建Avalon应用程序的时节,你还是可用ASP.NET和Atlas中的编程模型。例如,Avalon客户端上仍然得以用ASP.NET构建块服务以及客户端构建块服务。这种模型可以假设您平地连通至晚应用程序上。
  微软资了一个工具确保,用来好Ajax的意义,称作Atlas。从微软的Scott
Guthrie的blog上看来,这个东西应该是ASP.NET
2.0内的。Scott肯定地表示,“Atlas客户端脚论框架(Client Script
Framework)可以运行在有着的现世浏览器上还要何以与另外Web服务器交互”,这说明她们正为超浏览器的神态来出Ajax风格的远距离脚本,这的确是一个宏伟的更动;过去之微软,把其余东西都搞成了特定于IE的,而使其开发工具能够真的提供干净底超浏览器支持,将会笼络更多之ASP.ENT开发者,他们不管需询问其他细节就可以创建跨浏览器代码。
  Atlas客户端脚论框架是只是扩大的,100%面向对象的JavaScript客户端脚论框架,允许开发这十分易地构建具有丰富的UI工能而可以连续Web
Services的Ajax风格浏览器应用程序。使用Atlas,开发者可以以DHTML、JavaScript和XMLHTTP来修Web应用程序,而并非掌握这些技术之细节。
  Atlas客户端脚论框架可以在拥有的当代浏览器上运行,而非欲Web服务器。它还完全无待安装,只要在页面被援引正确的剧本文件即可。
  Atlas客户端脚论框架包含下列组件:
  ·一个不过扩大的与初框架,其中也JavaScript添加了好多新特性,如生存期管理、集成、多播事件处理器和接口
  ·一个基础类库,提供了通用特性,如丰富的字符串操作功能、计时器和周转任务等
  ·一个UI框架,可以超越浏览器实现动态行为
  ·一个网络栈,用于简化对服务器的连和指向Web Services的走访
  微软呢ASP.NET应用程序专门规划了千篇一律组Ajax风格的服务器控件,并且增长了现有的ASP.NET页面框架和控件,以便支持Atlas客户端脚论框架。
  ASP.NET
2.0遇出相同件称作异步客户端回调的初特色,使得构建无间断的页面变得特别容易。异步客户端回调包装了XMLHTTP,能够当过剩浏览器上行事。ASP.NET本身包括了诸多用到回调的控件,包括有客户端分页和排序功能的GridView和DetalsView控件,以及TreeView空间的虚拟列表支持。
  Atlas客户端脚论框架将全支持ASP.NET
2.0回调,但微软期待越来越加强浏览器与服务器之间的集成性。例如,你可以Atlas客户端控件的数额绑定指定为服务器上之ASP.NET数据源控件,并且可以起客户端异步地操纵Web页面的个性化特点。
  和任何客户端应用程序一样,一个Ajax风格的Web应用程序通常也欲看Web服务器的一对成效。Atlas应用程序连接服务器的模子与另外平台类,都是下Web
Services来落实。
  通过ASP.NET Web
Services集成,Atlas应用程序将可以另外支持XMLHTTP的浏览器上通过Atlas客户端将本框架来一直看任何宿主于ASP.NET的asmx或Indigo服务。该框架将会晤自动处理代理及剧本到对象、对象到剧本的序列化问题。通过采取Web
Services集成,开发者可以动用单一的编程模型来编排Web
Services,并且于另外应用程序中应用它,不论是基于浏览器的站点及或智能客户端应用程序中。
  于ASP.NET 2.0惨遭,微软构建了同样组丰富的构建块服务(Building Block
Services),这叫构建强大、个性化的Web应用程序变得不可思议的粗略。这些构建块巨大地降落了当开发通用的Web应用程序过程中得编制的代码数量,比如管理用户、通过角色验证用户和存储用户的个性化设置信息相当。
  使用Atlas,我们可以当旁浏览器上之其它客户端应用程序中往顾Web
Services那样访问这些力量。例如,如果您正开一个站点,来显示用户的TO-DO项目,你得用ASP.NET的Profile服务来以他们存放于服务器上之用户从定义配置文件被。这样便用户从同大机械及转移至任何一样高机器上,也同好看这些项目。
  微软拿提供的劳动包(全部凡是因ASP.NET 2.0之):
  - Profile:在服务器上存每个用户特有的多寡
  - UI个性化:在服务器上存个性化的UI设置信息
  - 验证:验证用户
  - 角色:基于用户的角色验证用户任务以及供不同的UI
  由于这些构建块是劳务器端的,开发者需要对她们采取以及另站点一律的安全模型。这些劳务不需客户端下在其余事物——只要在浏览器被援引脚本代理即可。
  所有的ASP.NET
2.0构建块服务还是只是插拔的,这下同样种通用的提供者模型可扩大模式在后台实现。微软提供的内建提供次同意开发这使SQL
Server数据库或Active
Directory作为存储容器,开发者也可好爱地插接好的供次。例如,你或许要用集群而无是数据库服务器来存放在用户之布置文件,这时你只是需要用您的提供次插接近来即可。
除外DHTML、JScript和XMLHTTP,微软还提供了同样组附加的劳务来增进客户端的意义并提供增强的经验。
  对于如此的劳动,本地浏览器缓存就是一个异常好的例子。当启用了当地浏览器缓存时,Web站点就好以内容存储到身患从中,并于急需之时段快地取出。但浏览器并未提供于缓存中存放数据的API,而且象Google
Map或OWA这样的应用程序不得不通过众多办事出一个唯一的URL才能够而浏览器缓存它。在Atlas中,微软供了不过编程的当地存储/缓存,因此应用程序可以老方便、有效又安全于地面缓存数据。
  同任何应用程序的并轨是查Web体验是否丰富的另外一个初的科班。例如,当一个用户浏览一个甩卖网站并针对性同样码商品出价时,他可能想天天掌握是处理什么时截止,但他何以才能够拿之波续加至他俩个人的日历程序中?Atlas带来了相同系列客户端构建块服务,当用于选择“添加到日历”时,浏览器将调用接驳点来博取日历数量,并拿那个传递至当地的日历程序中。此时页面及无须下充斥或运行任何特殊之代码或履外初始化动作,因此,这比ActiveX要安全得几近。

因Ajax的应用程序架构
浏览器端框架让细分成稀充分类:

·应用程序框架:提供浏览器的力量,但是经常为囊括窗口小部件抽象和另外的部件而驰名,其效果重要围绕桌面GUI框架。

·基本结构框架:提供基本的管道与而移栽的浏览器抽象,让开发者去创造内容。典型的效用:

*
针对XMLHttpRequest的包装器以封装浏览器-服务器的并行。(所有的框架还提供即时同样力量)。

* XML操作及查询。

* 根据来自XMLHttpRequest的回执行DOM操作。

* 在片状况中,与另外的浏览器端技术如Flash(和隐秘的Java
applets)集成以一块。

如服务器端框架通常因为下面两种艺术工作(尽管其以此因语言的例外进行了分类):

·HTML/JS生成:服务器提供整体的HTML/Javascript代码生成和浏览器-服务器协调,结果是只有浏览器端编码可以为定制。

·远程调用:Javascript调用直接被路由于至服务器端功能(例如Java方法)并返到Javascript回被处理器;或者Javascript调用服务器因为提信息,例如会话细节,数据库查询等。

·纯Javascript:应用程序框架

1.1 Bindows(自从2003年)

网址是:http://www.bindows.net,Bindows是一个软件开发包(SDK),它,通过武力联合DHTML,JavaScript,CSS和XML等技巧,能十分成高度交互的互联网应用程序-成为现代的桌面应用程序的无敌对手。Bindows应用程序不要求下载和为不需要以用户端安装-仅要求发出一个浏览器(也无欲Java,Flash或者ActiveX)。Bindows有或领导面向对象开发之AJAX应用程序的阳台。

·它是商业化的,使用来源于MB的技术(总部位于GA
USA,主要支出中心于瑞典,成立为2002年)。

Bindows框架提供给你:

·基于类的面向对象的API

·一模仿完整的窗口系统,提供方便范围的窗口小部件支持,包括菜单、表单、格子、滑动条、量程,甚至又多

·用于开发zero-footprint SOA客户端应用程序的领先的工具箱

·本机的XML,SOAP和XML-RPC支持

·单用户到信用社级的支撑

·内建的对AJAX的支持

Bindows开发环境:

·支持企业级规模的工程支出

·跨浏览器,跨平台支撑

·服务器独立结构

·与新的跟现有资源的互操作性

·一致性开发方法学

1.2 BackBase(自从2003年)

网址是:http://www.backbase.com,是一个宏观的浏览器端框架,支持添加的浏览器功能跟与.NET和Java的合并。

·商业化,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。

1.3 DOJO(开发中;自从2004年9月)

网址是:http://dojotoolkit.org/,提供到窗口小组件和浏览器-服务器信息支持。

·为创建定制的Javascript窗口小组件提供框架支持。

·预置的窗口小组件库。

·浏览器-服务器信息支持-XMLHttpRequest和另外的建制。

·支持浏览器被的URL操纵功能。

·开源许可(学术自由许可2.1(http://opensource.org/licenses/afl-2.1.php)),由JotSpot(http://www.jot.com/)的Alex
Russell(http://alex.dojotoolkit.org/)所领导。

1.4 Open Rico(开发中;自从2005年5月;基于早期的私有框架)

网址是:http://openrico.org/demos.page,是同等基本上用框架,支持Ajax基础结构和用户交互。

·一个XMLHttpRequest应答能为路由于至一个或者又多回叫操作,DOM对象,或者Javascript对象。

·容易鼠标拖动支持。

·Ajax动画,例如缩放和换。

·”行为”-实质上是窗口小组件库。

·使用指南(http://www.mirimar.net/mailbrowser/),由RussMirimar的Yonah所提供

·开源。源于Sabre航空公司解决方案,由Bill
Scott(http://looksgoodworkswell.blogspot.com),Darren
James及另外一些丁所支持。

1.5 qooxdoo(开发中;自从2005年5月)

网址是:http://qooxdoo.sourceforge.net/,是其它一个理想的框架,提供丰厚范围之UI支持以及在开中之功底结构特征。

·基础结构:

* DOM和波/焦点管理的但移栽的纸上谈兵。

* 调试支持。

* 易于时间调度的Timer类。

* Getter/Setter支持。

·UI:

* 窗口小组件框架和预置的窗口小组件库。

* 布局管理器。

* 图像缓冲和可移栽的PNG透明性。

·开源(LGPL)。来自多地方的贡献者。

1.6 Tibet(开发中;自从2005年6月)

网址是:http://www.technicalpursuit.com/,目的是提供莫大可移栽的跟全面的Javascript
API,结果是,可能自动生成大气之客户端代码。自称是”企业级Ajax”。

·远程脚论运行于XMLHttpRequest包装之上-通过协调调用结果支持工作流管理,例如应答可以发在只有当半单分别之调用返回时。

·URI支持。

·所有的HTTP方法-不仅是”GET”和”POST”。

·低级的协商-File://和WebDav以及HTTP。

·Web服务调用-SOAP,XML-RPC,等等。

·预置的针对性Google API,Amazon API等等服务的支持。

·由高级Javascript对象成一个光辉的仓库。

·许多XML操作。

·IDE和开发工具。

·开源许可(显然经过OSI认证,但是细节无多)。

2 纯Javascript:基础结构框架

2.1 AjaxCaller(Alpha版本;自从5月2005年)

网址是:http://ajaxify.com/run/testAjaxCaller/,是同样中心的线程安全之XMLHttpRequest包装器,主要对Ajax新手,仍处在原始的alpha开发阶段,目前独自及AjaxPatterns的在线搜索范例一起包。

·实现对服务器的调用(GET/POST/PUT/DELETE),用路由于到一个回叫操作的plain-text或者XML完成。

·使用过的XMLHttpRequest对象的析构。

·Response缓冲(计划的)。

·针对Ajax新手-并非强调性能优化,该库主要用以落实好读的基础代码并拿提供调试支持。

·开源许可。由Michael
Mahemoff(http://softwareas.com)(具有John
Wehr和Richard Schwartz的有盘算)维护。

2.2 Flash JavaScript集成包

网址是:http://www.osflash.org/doku.php?id=flashjs,允许JavaScript和Flash内容之融会:

·使JavaScript能够调用ActionScript功能与转的兑现。

·所有重大的数据类型能以当下简单种植环境中传递。

·开源许可。由多只开源Flash贡献者提供支持。

2.3 Google AJAXSLT(发行于2005年6月)

网址是:http://goog-ajaxslt.sourceforge.net/,是一个Javascript框架,用来施行XSLT转换和XPath查询。

·建立在Google地图工作基础之上。

·开源许可(BSD)。由同样下创新寻找方案公司支持,自称为”Google”。

2.4 HTMLHttpRequest(Beta版;始于2005年)

HtmlHttpRequest(http://www.twinhelix.com/javascript/htmlhttprequest/),它使了XMLHttpRequest和Iframes以改进兼容性。

·测试了并会做事以:IE6/Win,IE5.5/Win,IE5/Win,IE4/Win,Mozilla/Win,Opera7/Win,Safari/Mac,IE5/Mac。

·未测试,可能能够做事在:IE4/Mac,Mozilla/Mac,Opera/Other,Konqueror/Linux。你在使用这些有吧?作者在请兼容性信息。

·开源许可(LGPL)。由Twin Helix
Designs(http://www.twinhelix.com/)的Angus Turnbull维护。

2.5 交互式网站框架(自从2005年5月)

交互式网站框架(http://sourceforge.net/projects/iwf/,是一个种类,目的是自浏览器端对Ajax基础结构的大半面赋予支持。自描述为”使用javascript,css,xml,和html来创造高度交互网站的框架。包括一个定制的针对高度可读的javascript的xml分析器。实质上,是成立基于AJAX的网站的根基,还有另外有通用脚本”。

·线程安全之XMLHttpRequest实现。

·针对XML文档的包装器,以便你会创立更具可读性的代码:

var node = doc.groceries.frozen[0].pizza[0].size;</pre>

代表手工的领航:

var node =
doc.documentElement.firstChild.firstChild.getAttribute(“size”);</pre>

·开源许可。由Weaver(http://circaware.com|Brock)维护。

2.6 LibXMLHttpRequest(发行于2003年6月)

libXmlRequest(http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html),是XMLHttpRequest的一个薄包装器。

·getXML()和postXML()方法。

·XMLHttpRequest对象池支持。

·Response缓冲。

·可用源码(明显),但是于业内版权的保安,由Stephen
W.Coate(http://www.whitefrost.com/index.jsp)所维护。

2.7 RSLite(x)

网站是:http://www.ashleyit.com/rs/main.htm,是一个针对XMLHttpRequest的贫瘠包装器。

·一个简单易行的机件,作为Brent
Ashley的又完善的远距离脚本工作(参见Javascript远程脚本-JSRS在差不多语言服务器端)的均等组成部分批发。

2.8 Sack(在支付中,自从2005年5月)

网站是:http://twilightuniverse.com/2005/05/sack-of-ajax/,是一个对XMLHttpRequest的贫瘠包装器。

·调用者能指定回叫函数或者回叫DOM对象。借助于回叫DOM,应答文本直接为推入到DOM中

2.9 Sarissa(发行于2月,2003年)

网站是:http://sarissa.sf.net,是同等栽Javascript
API,它包裹了在浏览器端可以独自调用XML的机能。

·可移栽的XMLHttpRequest创建

·可移栽的XPath查询

·可移栽的DOM操作

·可移栽的XSLT

·可移栽的XML串行化

·开源(GPL2.0同LGPL2.1)。来自多点贡献者。

2.10 XHConn(发行让由4月,2005年)

网站是:http://xkr.us/code/javascript/XHConn/,是一个对XMLHttpRequest的瘦包装器。

·例如

new
XHConn().connect(“mypage.php”,”POST”,”foo=bar&baz=qux”,fnWhenDone);

·开源许可。由Brad Fults所保障。

3 服务器端:多种语言

3.1 跨平台异步的接口工具箱(5月2005年)

CPAINT:http://cpaint.sourceforge.net/,是千篇一律委的支持PHP和ASP/Vbscript的Ajax实现同JSRS(JavaScript远程脚本)实现。CPAINT提供给你需要的代码在后台实现AJAX和JSRS,而回的多寡以JavaScript形式在前台操作,格式化和出示。这允许而创造能提供类似实时的举报给用户之web应用程序。

·支持PHP&ASP

·针对具有函数的等同的JavaScript文件

·支持远程脚本和XML

·支持地方同长距离函数

·单个或者多独XMLHTTP对象

·以文件或者JavaScript XML/DOM文档对象方式回后台数据

·能支持POST和GET请求

·后台代理函数来走访远程函数和数目

·在具有的要浏览器上测试了

·在GNU GPL&LGPL保护下发行

3.2 SAJAX(可用,但是未是1.0版;自从3月2005年)

网站是:http://www.modernmethod.com/sajax/,直接将调用从Javascript发送至公的劳务器端语言并更回返。例如,调用一个javascript方法x_calculateBudget(),将先到达服务器和调用一个Java
calculateBudget()方法,然后以javascript方式把价值返回到x_calculateBudget_cb()。

·便利从Javascript代理函数到后台操作的照射。

·能够代理对许多服务器端平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)的调用。

·开源许可。来自多地方贡献者。

3.3 Javascipt对象标志(JSON)和JSON-RPC

JSON(http://www.crockford.com/JSON/index.html),是一个”胖的任意的XML选择”,而JSON-RPC(http://www.json-rpc.org/)是平等栽远程过程协议,类似于XML-RPC,强有力支撑Javascript客户。

·实现多服务器端平台(http://www.json-rpc.org/impl.xhtml):Java,Python,Ruby,Perl。

·针对每种平台发出单独的包裹和许可,如JSON-RPC-Java(http://oss.metaparadigm.com/jsonrpc/)。

3.4 Javascript远程脚本(JSRS)(自从2000年)

网址是:http://www.ashleyit.com/rs/jsrs/test.htm,直接将调用从Javascript发送到您的劳务器端语言并再度回返。

·知名的浏览器:IE4+,NS4.x,NS6.x,Mozilla,Opera7和Galeon。

·服务器端支持:ASP,ColdFusion,PerlCGI,PHP,Python和JSP(servlet)。

·开源许可。由Brent Ashley(http://www.ashleyit.com/)提供支持。

4 服务器端:Java

在意:许多存世的框架最近方添加Java支持(例如struts),我以于末端指出。

4.1 WebORB for Java(自从2005年8月)

网址:http://www.themidnightcoders.com/weborb/aboutWeborb.htm,是一个平台,支持开发AJAX和基于Flash的胖客户端应用程序,并可把她和Java对象及XML
Web服务相系起来。在线举例(http://www.themidnightcoders.com/examples)

·WebORB包括一个称为丰富的客户系统(http://www.themidnightcoders.com/rcs/index.htm)的客户端库。该丰富的客户系统提供平等简易的在线api来绑定到连调用任何Java对象,XML
Web服务还是EJB上的艺术。

·支持并的同异步的方式调用。

·并无要求于服务器端代码上发任何改动,不待定制方法属性,特别的签字或者参数类型。★不求统筹时别代理。

·同步调用返回来于该调用(不需要回叫)的多少。异步的调用依赖让一个回叫实现。

·任何服务器端方法会被同地要异步地调用。

·客户应用程序能望服务器对象要指定的位移办法。结果,对象能够吃擅自地创建而非需任何特别的编程。

·提供一个一定API来处理数据库查询结果-服务器代码能返回Data集合或者Data表,而客户端以一个例外RecordSet
JavaScript对象来显示这结果。该目标提供一个措施以搜寻列名和行数据。

·支持数据分页技术。客户应用程序能寻找页面被的数量。

·支持具有的劳务器端参数类型并返回值-原型,字符串,复合类型,数组,本机.net集合,远程参考。

·共有两栽版本可用:标准版(自由)和专业版(商业特许)

4.2 Echo 2(自从3月2005年)

网址是:http://www.nextapp.com/products/echo2/,允许你用纯Java代码编写Ajax应用软件(范例(http://demo.nextapp.com/InteractiveTest/ia))。

机关地生成HTML和Javascript。

·协调浏览器与服务器之间的音。消息形式吗XML。

·如果需要,可以手工编制定制的Javascript部件。

·开源许可(Mozilla公共许可或者GNU LGPL)。源于Next
App,Inc.(http://www.nextapp.com/)。

4.3 Direct Web Remoting (DWR)(2005年)

网址是:http://www.getahead.ltd.uk/dwr/,是一个框架,用于直打Javascript代码中调用Java方法。

·象SAJAX,能把Javascript中的调用传递到Java方法,并赶回到Javascript回为。

·能和外web框架(Struts,Tapestry,等等)一起使用。

·开源许可(Apache(http://www.apache.org/LICENSE.txt))。由Joe
Walker(http://www.getahead.ltd.uk/sg/space/joe/)所支撑。被在到WebWork(http://www.opensymphony.com/webwork/)版本。

4.4 SWATO(2005年)

网址是:http://swato.dev.java.net/,是同样模仿只是选用的以及出彩并的Java/JavaScript库,它实现了同等种植更爱的不二法门来改您的web应用程序的并行,它是由此AJAX方式贯彻。

·服务器端Java库能叫爱地配置到所有的Servlet 2.3+匹配的器皿被。

·客户端JavaScript库能做事于支持HttpXMLRequest的各种浏览器被。

·使用JSON来以劳务器端编组你的POJO数据。这样你会存取在另外JavaScript环境(HTML,XUL,SVG)中的远程数据,这种存取可以好地经过硬编码或者和某种成熟之JavaScript库集成来实现。

·提供一个简单易行的接口来如果你的JavaScript代码可以同爆出于客户端的长途POJO交互(RPC等)。

·使用web.xml中的<servlet>和<filter>的轻且灵活的部署,并能够(但无是靠)与Spring集成到一同。

·提供了几独可帮助您飞支付web应用程序的零部件(如自行就的文本框,在线表单,在线列表,等等)。

5 服务器端:Lisp

5.1 CL-Ajax

网址:http://cliki.net/cl-ajax,实现Javascript直接调用服务器端Lisp函数。

·如下输出函数:

(export-函数 #’my-函数)

·可以产生含参数的Javascript代理。

·能转叫Javascript函数或者DOM对象。

·可以于并入进SAJAX。

·开源(定制,非常灵活,许可)。由[Richard
Newman](http://www.holygoat.co.uk/)所维护。

6 劳动器端:.NET

6.1 WebORB for.NET(自从8月2005年)

网址:http://www.themidnightcoders.com/weborb/aboutWeborb.htm,是一个平台,用于开发AJAX和基于Flash的胖客户端应用程序,并能够把它连接到.NET对象和XML
Web服务。(在线举例(http://www.themidnightcoders.com/examples))

·WebORB包括一个客户端库,名叫Rich Client
System(http://www.themidnightcoders.com/rcs/index.htm)。Rich Client
System提供相同简便的在线api以绑定到同调用任何.NET对象或XML
Web服务达到之其它措施。

·支持并跟异步的办法调用

·并无要求于服务器端代码上发任何改动,不待定制方法属性,特别的签字或者参数类型。**免求设计时代理生成。

·同步调用返回来于该调用之数(不需回叫)。异步的调用依赖让一个回叫实现。

·任何服务器端方法会为合地要异步地调用。

·客户应用程序能通往服务器对象要指定的移位办法。结果,对象能够被任意地创建而休需另异常的编程。

·提供一个一定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable,而客户端以一个特有RecordSet
JavaScript对象来显示这结果。该目标提供一个措施以寻找列名和行数据

·支持数据页面技术。客户端应用程序能寻找页面被的数额。

·支持具有的劳务器端参数类型并返回值-原型,字符串,复合类型,数组,本机.net集合,远程参考

·共有两栽版本可用的:标准版(自由)和专业版(商业特许)

6.2 Ajax.NET(自从3月2005年)

网址是:http://ajax.schwarz-interactive.de/,是一个库房,实现从Javascript到服务器端.NET的存取。

·象SAJAX,能管Javascript中的调用传递到.NET方法,并返到Javascript回被。

·能存取来自于JavaScript的对话数据。

·缓存结果

·自由使用,可用之源码,未指定使用许可。由Michael
Schwarz(http://weblogs.asp.net/mschwarz/)所维护。

·不容许改变源代码,用性标记方法

·完整的近乎支持为回到客户端JavaScript值

·使用HtmlControls来进行输入和返回值

·可以回来数据表,数据集,数据视图,数组和集聚

7 劳务器端:PHP

7.1 AjaxAC(自从2005年4月)

网址是:http://ajax.zervaas.com.au/,用么的PHP类封装了完全的应用程序。

·所有的应用程序代码是打包含在单个类中(附加另外一些JavaScript库)

·干净利索地调用PHP文件/HTML页面。只需要创建应用程序类,然后参照应用程序JavaScript和直属任何索要的HTML元素到该应用程序。

·容易地处理JavaScript事件之内嵌功能

·创建子需要并拍卖它们的内嵌功能

·允许定制的安排值,因此某些单元能于运行时刻设置

·无乱的JavaScript代码夹杂在调用HTML的代码中-所有的事件是深受动态依附的

·由于以上两个因容易与模板引擎并到一块

·容易钩到(hook in
to)已有些PHP类或者MySQL数据库以回到来于子需求的数码

·能够容易地进一步生成JavaScript对象的而扩大的窗口小组件结构(但是还亟需举行有做事)

背景:

·开源许可(Apache2.0)。由Zervaas
Enterprises(http://ajax.zervaas.com.au/)支持

7.2 JPSpan

网址是:http://jpspan.sourceforge.net/wiki/doku.php,直接拿Javascript调用传递到PHP函数。

·进行了庄严的单元测试。

·开源许可(PHP)。

7.3 XAJAX

网址是:http://xajax.sf.net,直接把Javascript调用传递至PHP函数。

·使用Javascript代理来调用PHP脚本。

·开源。由J.Max Wilson所创。

8 劳务器端:Ruby

Ruby On
Rails(http://www.rubyonrails.org/)是一个普通的暴力支撑Ajax的web框架:

·当Ajax出现的早晚Rails还处于其提高的最初,因此Ajax可能慢慢成为Rails框架的骨干。

·生成浏览器中大部分/全部之窗口小组件和动画片的Javascript脚本。

·支持服务器端调用。

·调度支持。 

·开源许可。

相关文章