全部展开
什么是Ajax?2005-09-0817:36:55?Ajax的定义Ajax不是技术,它实际上是多种技术,每种技术都有自己的位置,并且它们一起成为一种强大的新技术你。
Ajax包括:XHTML和CSS使用DocumentObjectModel进行动态可视化和交互。使用XML和XSLT进行交互和数据操作。使用XMLHttpRequest进行异步数据接收。使用JavaScript加入他们。传统的Web应用程序模型的工作原理如下:大多数界面中的用户操作都会触发HTTP请求以连接到Web服务器。
服务器处理了一些事情。接收数据,处理计算,访问其他数据库系统,最后将HTML页面返回给客户端。
自从将超文本用作Web以来,这是一个较旧的模型,但是阅读TheElementsofUserExperience的读者需要知道Web界面仅限于桌面软件。
图1:常规Web应用程序模型(左)和Ajax模型(右)的比较
这种旧方法可以识别许多技术,但不能提供良好的用户体验。
用户在服务器处理自己的东西时会做什么?
是的,请稍候。
每个动作,用户必须等待。
显然,在设计具有桌面应用程序概念的Web应用程序时,我们并不打算让用户总是等待。
为什么每次加载接口时,用户花费一半的时间从服务中获取数据?
实际上,为什么用户总是看到服务器上的程序来恢复数据?
通过在用户和服务器之间引入Ajax引擎来消除Web启动-停止-启动-停止-交互,Ajax之间的区别。
这就像在您的程序中添加机制层以使其更易于接受。
与加载页面不同,在会话开始时,浏览器将加载用JavaScript编写的Ajax引擎,并将其放置在通常隐藏的框架中。
该引擎呈现用户界面并与服务器通信。
Ajax引擎允许用户与程序异步交互,而无需等待与服务器的通信。
因此,用户不必打开一个空窗口,也不必检查等待光标是否一直在旋转,也不必等待服务器完成后再进行响应。
图2:传统Web应用程序异步交互过程(上)与Ajax应用程序异步交互过程(下)的比较。
通常,生成HTTP请求的用户操作已被调用Ajax引擎的JavaScript取代。
该引擎不必将用户操作响应直接发送到服务器,例如简单的数据验证,内存数据编辑甚至页面导航,并且引擎可以单独处理它。
如果引擎需要响应用户的操作从服务器检索数据,则假定需要进行处理,加载其他接口代码或接收新数据,并且引擎通常会异步运行该作业。使用XML的用户界面交互不再被忽略。