Ajax
前奏:
Web2.0 概述
Web1.0 vs. Web2.0
天天谈门户 谈个性化
关注的是内容 关注的是应用
谈挂牌推销 谈服务
谈密闭、大而全 谈大家开放、谈联合
网站中心化 个人中心化
Web1.0 vs. Web2.0结论:
是网络传媒的一种发展趋势是一种理念,而不是技术。
Creativity-users as creators 创新
Collective intelligence 集体智慧
Client-side, rich capabilities 用户至上
Copyright/Copyleft 版权
没有真正1.0、2.0的定义
它们只是对网络信息发展过程所出现的特点的归纳
Web2.0的参考描述:
是以 以Blog、TAG、SNS、RSS、wiki等社会软件的应用为核心
依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式
Web3.0
Web3.0是三广+三跨(广域的 广语的 广博的 跨区域 跨语种 跨行业)
现在玩游戏得积分,卖装备就是Web3.0的表现。
Web 1.0 2.0 3.0 没有具体的区分, 不同的是对互联网的理念。
正题:
Ajax概述:
Ajax是由Jesse James Garrett创造的,是"Asynchronous JavaScript+XML"的缩写
Adaptive Path公司的Jesse James Garrett如是说:
Ajax不是一种新技术,它把几种成熟的技术以新的方式组合而成,形成强大的功能,包含:
基于XHTML和CSS标准的表示;
使用document Object Model进行动态显示和交互;
使用XMLHttpRequest与服务器进行异步通信;
使用JavaScript绑定一切。
传统的Web应用是一个同步的交互过程。Ajax是异步的。
AJAX是一个客户端动态网页思想;综合整合使用HTML,CSS,JavaScript,XML等页面技术完成客户端显示功能,同时以XMLHttpRequest为核心的异步对象与服务端后台通信。
Ajax的优势:
减轻服务器的负担
AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
带来更好的用户体验
无刷新更新页面,减少用户心理和实际的等待时间。
利用客户端的处理能力
可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担
基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
进一步促进页面呈现和数据的分离。
常见的Ajax使用场景:
表单驱动的交互
深层次的树形导航
快速的用户与用户间的交流响应
类似投票、yes/no等无关痛痒的场景
对数据进行过滤和操纵相关数据的场景
普通的文本输入提示和自动完成的场景
Ajax不适用场景:
部分简单的表单
基本的导航
页面大部分需要更新
重点:
XMLHttpRequest对象(AJAX引擎的核心)
1)作用:实现AJAX的体验: 像桌面应用与server进行数据交换
异步 : 局部刷新
2)目的:减轻server的压力,提高交互的速度
局部刷新页面某个部份,不影响整个页面
3)对象创建(XMLHttpRequest):
根据不同的浏览器,对XMLHttpRequest对象的初始化有所不同:
<script language="javascript">
var xmlreq = false;
//IE浏览器
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
//旧版本的IE
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
//Mozilla浏览器
xmlreq = new XMLHttpRequest();
</script>
4)XMLHttpRequest对象是运行在browser的(Ajax引擎的核心)
状态:
0=未初始化
1=读取中
2=已读取
3=交互中
4=完成
具体aJax 的写法参照Ajax帮助(JavaScript帮助, JQuery帮助), 建议使用jQuery 实现Ajax。 具体的操作有 $.ajax() , $.get(), $.post(), load() 等方法。