1. Ajax技术介绍
1.1 现状:
传统的 WEB 应用程序模型是这样工作的:用户的界面操作触发 HTTP 请求,服务器在接收到请求之后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个 HTML 页面。但这种方式并没有给予用户很好的应用体验,当服务器在处理数据的时候,用户则处于等待的状态,每一步操作都需要等待,太多的等待会使用户越来越没有耐心。
缺陷简单的总结:
1、HTTP无状态交互
2、页面全部刷新
3、同步等待
1.2 Demo示例
1.3 基本原理
Ajax实现的web交互效果跟传统的大不相同,它通过 Ajax 引擎,使得应用过程很自然,操作很流畅,因为其只和服务器交换有用的数据,而页面显示等不必要的数据则不再重新加载。Ajax 引擎其实就是 JavaScript、XML、XMLHttpRequest 等等各项技术的综合应用。
以下是两张Ajax与传统web应用相比较的最经典的两张图:
1、传统web应用交互与Ajax交互的层次结构图比较:
ajax是同步还是异步现在,可以用JavaScript调用Ajax引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要载入这个页面的需求可以交由Ajax来执行。
2、传统web应用同步交互和Ajax异步交互的实现比较图:
3、Ajax的优点:
z减轻服务器端负担,“按需取数据”。
z无刷新更新页面。
z带来更好的用户体验。
z充分利用客户端闲置的运算能力。
z进一步促进呈现和数据的分离。
z完全基于标准化的技术实现,无须下载小程序或插件。
z完全浏览器无关(而IE:Download和XML island是浏览器有关的异步调用)
1.3 技术组成
1、标准化呈现:XHTML、CSS
2、动态显示和交互:DOM
3、数据交换和处理:XML、XSLT
4、粘合剂:JavaScript
在Ajax引用中,Ajax引擎的实现的主要部分就是XMLHttpRequest对象,它是XmlHttp 实现。
XmlHttp是什么?
最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。
来 自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向 http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。
现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。
1.4 简单代码解剖析
1、简单实现的序列图
2、代码:
(1)初始化XMLHttpRequest对象
<script language = “javascript”>
var xmlhttp = false;
var url = “servlet/ProcessServlet?id=100”; //创建xmlhttp对象
//for IE
try{
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论