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()命令。
我想学习,可是苦于找不到,好的教程,最简单的应用代码都没有,有哪位高手有,资助下,谢谢了!!!