Ajax
讲师:王雨宁
Ajax概述
? 06年google公司推出了googlemaps地图检索系统。引
爆web开发的新热潮----ajax。 ? 什么是ajax?
? Asynchronous JAVAScript Xml ? Ajax是基于服务器的页面异步处理技术。也就是改变了古老的
用户请求-等待-响应这种web交互模式。
? Ajax技术包括:
? ? ? ? ? ? Css技术 Dom技术 Javascript技术 服务器技术《java--servlet》 Xhtml技术 Xml技术
Web应用程序在客户端表现的问题
? 传统的web应用程序中,用户向服务器发送
一个请求,然后等待,服务器接受到用户的
请求然后一个响应。在这段时间内,用户会
傻乎乎的盯着一个空白页面看。这是因为以 往的传输方式为同步处理方式。
传统的web应用程序模型
浏览器客户端 用户接口
HTTP请求
Html+css显示
HTTP传输
Web服务器
数据存储、后端处理、遗留系统
同步传输
浏览器客户端
用户操作 用户操作 用户操作
时间
数 据 传 输
数 据 传 输
数 据 传 输
数 据 传 输
系统处理
系统处理
服务器
总结:长久一来我们对这种web交互模式已经习惯了, 并且以使用者的角度来看以为web就应该这样。
Ajax的工作方式
? 和传统的web应用不同,ajax采取了异步交互 机制避免了用户请求-等待-应答交互方式的缺 点。Ajax在应用程序和服务器中引入了一个中 间层---ajax引擎,它是用javascript编写的,在 一个隐藏的框架中运行。Ajax引擎负责呈现用 户界面,以及代表用户和服务器进行交互。 Ajax引擎允许用户和服务器进行异步的交互。 用户无需傻乎乎的盯着空白页面。
Ajax工作机制图
浏览器客户端 用户接口
Js调用 XML/JSON数据
Ajax引擎
HTTP请求
XML/JSON数据
HTTP传输
服务器客户端 Web服务器
属性存储, 后端处理, 遗留系统
Ajax工作机制图
浏览器客户端 用户接口
用户操作
输 入 输 出 输 入 输 出 输 入 输 出 输 入 输 出
Ajax引擎 用户端处理
时间
数 据 传 输
数 据 传 输
数 据 传 输
数 据 传 输
数 据 传 输
数 据 传 输
服务器客户端
服务器
端处理
服务器
端处理
服务器
端处理
总结:显示和处理相分离一个有良心的it人 不二的选择。------GoogleEath开发总监.
Ajax的数据传输载体
? JOSN(javascript Object Notation)是一种
轻量级的数据交互格式。
? JSONArray jsonArray = JSONArray.fromObject( list
);
? Dojo用js编写的ajax工具包。
Xml和ajax
? 由于ajax不再是单纯的js,也就是页面展示
。所以就避免不了和服务器的交互。
? Ajax 与服务器的交互方式
? 字符串形式 ? 文档形式
Ajax与服务器交互
? 传统形式上是可以但是对于数据的规则化不
是很有利。那么就需要一种js和服务器都可
以接受的交互载体
? X
ml可以扩展标记型语言就是很好的选择,
当然开发者也可以根据具有的情况进行自己
的交互语言的开发比如josn。
Xml语言的特点
? ?
?
?
?
Xml语言是html语言的前身《父类》xml语言的特点是注重 于如何描述数据,也就是说总是强调“数据是什么!”, 那么html呢?Html的重点是如何显示数据。 Xml一般都是被设计成为什么也不做的,它只是用来组织 、存储和发送数据的。《格式》 Xml是自由的可以扩展的 ? XML标记并不是预先规定好的,你必须创造你自己的 标记。 Xml不是HTML的补充 ? XML并不是HTML的替代品,理解这一点非常重要。在 将来的网页开发中,XML将被用来描述、存储数据, 而HTML则是用来格式化和显示数据的。 Xml在未来Web开发中的应用 ? XML发展的非常迅速,这实在令人感到惊奇,有很多 的软件开发商都采用了XML标准。w3c ? 《无为而无所不为》
Xml语法《一》
? XML的语法规则既简单又严格,非常容易 ? ? ? ? ? ? ?
学习和使用。 并且XML文档使用了自描述 的和简单的语法。 类如: <?xml version=“1.0” encoding=“utf8”?><!—xml声明,指定版本号和选用的语 言--> <student> <name>施念</name> <age>23</age> <sax>男</sax> </student>
Xml语法《二》
?
? ? ? ? ? ? ?
所有的XML文档必须有一个结束标记 ? 在XML文档中, 忽略结束标记是不符合规定的。 但是html是可 以的 XML标记都是大小写敏感的 ? 这与HTML不一样, XML标记是大小写敏感的。 所有的XML元素必须合理包含 ? 在XML中不允许不正确的嵌套包含。 所有的XML文档必须有一个根元素 ? XML文档中的第一个元素就是根元素。 属性值必须使用引号"" ? 在XML中,元素的属性值没有引号引着是不符合规定的。 使用XML,空白将被保留 ? 在XML文档中,空白部分不会被解析器自动删除。 使用XML, CR / LF 被转换为 LF ? 使用 XML, 新行总是被标识为 LF(Line Feed,换行)。 XML中的注释 ? 在XML中注释的语法基本上和HTML中的一样。
Xml元素
? ? ?
XML元素是可以扩展的,它们之间有关联。 ? XML文档可以被扩展一便携带更多的信息。 XML元素是相互关联的 ? XML元素之间是父元素和子元素的关系。 XML元素的内容 ? XML元素有不同的内容。
? XML元素指的是从该元素的开始标记到结束标记 之间的这部分内容。 ? XML元素有元素内容,混合内容,简单内容或者 空内容。每个元素都可以拥有自己的属性。
?
XML元素命名必须遵守下面的规则: ? 元素的名字可以包含子母,数字和其他字符。 ? 元素的名字不能以数字或者标点符号开头。 ? 元素的名字不能以XML(或者xml,Xml,xMl...)开头。 ? 元素的名字不能包含