2.3 AJAX 技术
2.3.1 概 述
AJAX(Asynchronous JavaScript and XML)总体来说实际上是若干项技术按一定的方式组合,在共同的协议中发挥各自作用的技术[8],其中包括:使用 XHTML 和 CSS 标准化呈现;使用 DOM实现动态显示和交互 [9] ;使用 XML和 XSLT 进行数据交换与处理;使用 XMLRequest 进行异步数据读取;使用 JavaScript 绑定和处理所有数据等。
图2.3.1-1 AJAX应用模型
AJAX 技术的应用模型如图 1所示,其在用户界面和服务器之间加了一个中间层——AJAX 层。AJAX 层负责与服务器端通讯以及绘制用户界面,所以用户与服务器端之间传输的数据,不包括用户界面的数据,节省了系统的传输量。
AJAX 对 HTTP 请求实行异步相应方式。通常产生一个 HTTP请求的用户动作,现在通过 JavaScript 调用 AJAX 层来代替,任何用户动作的响应不再要求直接传到服务器 [10]-[11] 。简单的数据校验,内存中的数据编辑,引擎就可以处理它,如果引擎需要从服务器取数据来响应用户动作,引擎让这些工作异步进行。
2.3.2 与传统的Web应用比较
AJAX 应用可以仅向服务器发送并取回必需的数据,它使用SOAP 或其它一些基于 XML 的 Web Service 接口,并在客户端采用JavaScript 处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用[12]。同时很多的处理工作可以在发出请求的客户端机器上完成,所以 Web服务器的处理时间也减少了。
Ajax 应用程序的优势在于:a. 通过异步模式,提升了用户体验;b. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用;c. Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
2.3.3 优点和缺点
使用 Ajax 的最大优点,就是能在不更新整个页面的前提下文护数据。这使得 Web 应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。 对应用 Ajax 最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。
Ajax 的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰——用户不太清楚现在的数据是新的还是已经更新过的;对这个问题,现有的解决方法有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等。
2.3.4 AJAX的工作原理
Ajax 的核心是 JavaScript 对象 XmlHttpRequest。该对象在Internet Explorer 5 中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest 使 JavaScript 向服务器提出请求并处理响应,而不阻塞用户。
Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担。
2.4 开发工具及运行环境
本系统的开发工具具体如下。
●系统开发平台:Microsoft Visual Studio 2010
●数据库管理系统软件:Microsoft SQL Server 2005
●运行平台:Windows XP/Windows 2000
●Web服务器:IIS 6.0 UML客户关系管理系统的设计与实现(4):http://www.751com.cn/jisuanji/lunwen_6446.html