Ajax是XMLHttpRequest对象和JavaScript、XML、CSS、DOM等多种技术的组合。
其中,只有XMLHttpRequest对象是新技术,其他的均为已有技术。下面我们就对Ajax使用的技术进行简要介绍。
一 XMLHttpRequest对象
Ajax使用的技术中,最核心的技术就是XMLHttpRequest,它是一个具有应用程序接口的JavaScript对象,能够使用超文本传输协议(HTTP)连接一个服务器,是微软公司为了满足开发者的需要,于1999年在IE 5.0浏览器中率先推出的。现在许多浏览器都对其提供了支持,不过实现方式与IE有所不同。
二 XML
XML是Extensible Markup Language(可扩展的标记语言)的缩写,它提供了用于描述结构化数据的格式,适用于不同应用程序间的数据交换,而且这种交换不以预先定义的一组数据结构为前提,增强了可扩展性。XMLHttpRequest对象与服务器交换的数据,通常采用XML格式。下面我们将对XML进行简要介绍。
1.XML文档结构
XML是一套定义语义标记的规则,也是用来定义其他标识语言的元标识语言。使用XML时,首先要了解XML文档的基本结构,然后再根据该结构创建所需的XML文档。下面我们先通过一个简单的XML文档来说明XML文档的结构。placard.xml文件的代码如下:
<?xml version="1.0" encoding="GBK"?> <!--说明是XML文档,并指定XML文档的版本和编码-->
<placard version="2.0"> <!--定义XML文档的根元素,并设置version属性-->
<description>公告栏</description> <!--定义XML文档元素-->
<createTime>创建于2011年06月15日 16时09分</createTime>
<info id="1"> <!--定义XML文档元素-->
<title>重要通知</title>
<content><![CDATA[今天下午4:50将进行乒乓球比赛,请各位选手做好准备。]]></content>
<pubDate>2011-06-15 16:09:37</pubDate>
</info> <!--定义XML文档元素的结束标记-->
<info id="2">
<title>幸福</title>
<content><![CDATA[一家人永远在一起就是幸福]]></content>
<pubDate>2011-06-18 10:15:43</pubDate>
</info>
</placard> <!--定义XML文档的根元素的结束标记-->
在上面的XML文档中,第一行是XML声明,用于说明这是一个XML文档,并且指定版本号及编码。除第一行以外的内容均为元素。在XML文档中,元素以树型分层结构排列,其中<placard>为根元素,其他的都是该元素的子元素。
在XML文档中,如果元素的文本中包含标记符,可以使用CDATA段将元素中的文本括起来。使用CDATA段括起来的内容都会被XML解析器当作普通文本,所以任何符号都不会被认为是标记符。CDATA的语法格式如下:
<![CDATA[文本内容]]>
需要注意的是,CDATA段不能进行嵌套,即CDATA段中不能再包含CDATA段。另外在字符串“]]>”之间不能有空格或换行符。
在XML文档中,必须有一个根元素,所有其他的元素必须嵌入到根元素中。
2.XML语法要求
了解了XML文档的基本结构后,接下来还需要熟悉创建XML文档的语法要求。创建XML文档的语法要求如下:
(1)XML文档必须有一个顶层元素,其他元素必须嵌入在顶层元素中。
(2)元素嵌套要正确,不允许元素间相互重叠或跨越。
3.为XML文档中的元素定义属性
属性是依附于元素存在的。
属性值用单引号或者双引号括起来。
例如,给元素info定义属性id,用于说明公告信息的ID号。
<info id="1">
4.XML的注释
注释是为了便于阅读和理解,在XML文档添加的附加信息。注释是对文档结构或者内容的解释,不属于XML文档的内容,所以XML解析器不会处理注释内容。XML文档的注释以字符串“<!--”开始,以字符串“-->”结束。XML解析器将忽略注释中的所有内容,这样可以在XML文档中添加注释说明文档的用途,或者临时注释掉没有准备好的文档部分。
在XML文档中,解析器将“-->”看作是一个注释结束符号,所以字符串“-->”不能出现在注释的内容中,只能作为注释的结束符号。
三 JavaScript
JavaScript是一种具有丰富的面向对象特性的程序设计语言,利用它能执行许多复杂的任务。
例如,Ajax就是利用JavaScript将DOM、XHTML(或HTML)、XML以及CSS等技术综合起来,并控制它们的行为的。
因此要开发一个复杂高效的Ajax应用程序,就必须对JavaScript有深入的了解。
四 CSS
在Ajax出现以前,CSS已经广泛地应用到传统的网页中了。
五 DOM
DOM是文档对象模型的简称,是表示文档(如HTML文档)和访问、操作构成文档的各种元素(如HTML标记和文本串)的应用程序接口。