•例如
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中的
和的容易且靈活的配置,並能(但不是依賴)與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腳本。
•支持服務器端調用。
•調度支持。
•開源許可。