开发保留标准浏览器功能的AJAX应用程序

http://tech.ddvip.com   2006年11月20日    社区交流

本文详细介绍开发保留标准浏览器功能的AJAX应用程序

为什么Ajax应用程序常常会使后退按钮无法正常工作?

  我们所说的Web基于以下三个原则:

使用 (D)HTML来定义界面 使用HTTP实现客户端与服务器间的通讯 使用URI进行寻址

  Ajax编程突破了由以上原则所带来的种种限制,使得界面功能更加丰富。正如我在以前的文章A Backbase Ajax Front-end for J2EE Applications(中文版)中所介绍的那样,Ajax广泛使用了JavaScript(“J”)以创建功能丰富的UI组件和交互性。Ajax还引入了异步的XML通信(“A”和“X”),也就是使用XMLHttpRequest对象导入新的数据和表示逻辑而不必刷新页面。然而,目前的Ajax模型并没有解决如何处理URI的问题。

  Ajax应用程序对(D)HTML和HTTP的使用方式做了改变,而这种改变带来的直接结果就是后退按钮和Web的基本交互方式的其它元素无法正常工作了。在本节的其余部分,我将说明如何通过以Ajax的方式处理URI来解决上述问题。首先我们来看看在传统的Web应用程序中URI是如何与用户交互相关联的。

  从技术方面来说,用户交互是指用户界面状态的一次更改。状态改变由终端用户发起。浏览器客户端通过向服务器发出页面请求来处理状态更改(REST法则)。服务器将发送新的页面和新的URI到客户端以生成新的界面状态。

  简单地说,每个用户交互都是通过会导致如下结果的服务器往返来处理的:

生成新的页面 生成新的URI

  这些Web功能之所以能够被使用,是因为浏览器在它的历史记录堆栈中记录了连续的URI,并在地址栏中向终端用户显示当前URI,用户可以通过地址栏复制URI,并将其发送给朋友。当用户单击后退按钮或者向浏览器的地址栏中粘贴一个来自于电子邮件的URI时,就会触发一次到服务器的往返。因为服务器负责状态管理,所以它就可以生成相应的页面。

来源:bea.com.cn    作者:Mark Schiefelbein    责编:豆豆技术应用

正在加载评论...