網路城邦

上一篇 回創作列表 下一篇   字體:
Ajax Anywhere簡介
2009/11/18 11:20:08瀏覽566|回應0|推薦0

Ajax Anywhere的官方站點是 http://ajaxanywhere.sourceforge.net,你可以從官方下載到最新的jar開發包、src源碼包,以及一個demo演示包。

AjaxAnywhere使用「分區刷新」的概念,其工作原理如下。

(1)使用AjaxAnywhere自定義標籤庫將一個Web頁面劃分為幾個可重載的區域(reload-capable zones)。

(2)使用AjaxAnywhere Javascript 應用編程接口(API)替代傳統通信機制下表單提交方式。

(3)當請求在服務器端處理的時候,決定那些頁面區域可以刷新(refresh)。這個過程可以使用基於客戶端的Javascript或者基於服務器端的AjaxAnywhere應用編程接口(API)。

(4)在服務器端,AjaxAnywhere會生成包含即將更新的HTML代碼的XML文檔。

(5)在客戶端,AjaxAnywhere Javascript接受這個XML文檔,解析文檔,並更新指定的頁面區域。

採取這樣的設計概念,可以儘可能地降低Javascript代碼量,降低Ajax的開發門檻。

— 無須掌握和開發那麼多的Javascript代碼。

由於缺乏被廣泛接受的命名習慣、格式化規則和模式,使得Javascript編碼相對Java/JSP複雜許多,尤其在瀏覽器兼容性方面缺乏有效的調試和單元測試手段。使用AjaxAnywhere可以擺脫這些Javascript的複雜性。

— 方便集成。

使用AjaxAnywhere無須改變底層的應用程式代碼。

— 降低技術風險。

可以隨時在傳統的通信機制和Ajax之間切換,允許Web應用程式同時支持兩種通信機制。

— 平滑的兼容性。

再也不用在使用Ajax還是傳統的交互方式間搖擺了,使用Ajax AnyWhere的Web應用程式可以兼容兩種請求方式。

AjaxAnywhere的客戶端腳本經過了IE,Mozilla Firefox和Opera等瀏覽器的兼容性測試,能夠最大程度地保證代碼的瀏覽器兼容性。

另外,還需要注意的AjaxAnywhere特性是,Ajax接收到的Ajax代碼採用特殊的方式處理。AjaxAnywhere通過eval("")的方式執行這些Javascript代碼,也可以將所定義的Javascript函數保存在適當的上下文(Context)中。不過,在允許Ajax方式重載的頁面區域,不允許執行document.write()之類的Javascript語句。

允許重載的區域可能在提交請求之前就確定了,這種情況下需要重載客戶端的AjaxAnywhere.getZonesToReload()的Javascript函數,不需要額外的服務器邏輯處理。

如果希望AjaxAnywhere重載整個文檔,則重載後的AjaxAnywhere.getZonesToReload()函數必須返回「document.all」字符串,也可以在服務器端調用AAUtils.setRefreshAll(true)刷新整個頁面。

相應的,Ajax請求中的response.sendRedirect()會被轉化成Javascript代碼的location.replace()命令。

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=maxmas&aid=3508473