AJAX技术总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1AJAX技术总结吴启福2006.12.20wqf363@hotmail.com什么是ajaxa技术?AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:基于web标准(standards-basedpresentation)XHTML+CSS的表示;(标准不是只在IE上运行,适应各种浏览器)使用DOM(DocumentObjectModel)进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest进行异步数据查询、检索;使用JavaScript将所有的东西绑定在一起。类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、InternetExplorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。基于Ajax的应用程序架构浏览器端框架被划分成两大类:•应用程序框架:提供浏览器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要围绕桌面GUI框架。•基本结构框架:提供基本的管道和可移植的浏览器抽象,让开发者去创建内容。Ajax的应用范围Ajax适用场景1.表单驱动的交互传统的表单提交,在文本框输入内容后,点击按钮,后台处理完毕后,页面刷新,再回头检查是否刷新结果正确。使用Ajax,在点击sunmit按钮后,立刻进行异步处理,并在页面上快速显示了更新后的结果,这里没有整个页面刷新的问题。2.深层次的树的导航2深层次的级联菜单(树)的遍历是一项非常复杂的任务,使用JavaScript来控制显示逻辑,使用Ajax延迟加载更深层次的数据可以有效的减轻服务器的负担。3.快速的用户与用户间的交流响应在众多人参与的交流讨论的场景下,最不爽的事情就是让用户一遍又一遍刷新页面以便知道是否有新的讨论出现。新的回复应该以最快的速度显示出来,而把用户从分神的刷新中解脱出来,Ajax是最好的选择。4.类似投票、yes/no等无关痛痒的场景对于类似这样的场景中,如果提交过程需要达到40秒,很多的用户就会直接忽略过去而不会参与,但是Ajax可以把时间控制在1秒之内,从而更多的用户会加入进来。5.对数据进行过滤和操纵相关数据的场景对数据使用过滤器,按照时间排序,或者按照时间和名称排序,开关过滤器等等。任何要求具备很高交互性数据操纵的场合都应该用JavaScript,而不是用一系列的服务器请求来完成。在每次数据更新后,再对其进行查找和处理需要耗费较多的时间,而Ajax可以加速这个过程。6.普通的文本输入提示和自动完成的场景在文本框等输入表单中给予输入提示,或者自动完成,可以有效的改善用户体验,尤其是那些自动完成的数据可能来自于服务器端的场合,Ajax是很好的选择。Ajax不适用场景1.部分简单的表单虽然表单提交可以从Ajax获取最大的益处,但一个简单的评论表单极少能从Ajax得到什么明显的改善。而一些较少用到的表单提交,Ajax则帮不上什么忙。2.搜索有些使用了Ajax的搜索引擎如Start.com和Live.com不允许使用浏览器的后退按钮来查看前一次搜索的结果,这对已经养成搜索习惯的用户来说是不可原谅的。3.基本的导航使用Ajax来做站点内的导航是一个坏主意,为什么不把时间放在让系统程序作的更好上呢?4.替换大量的文本3使用Ajax可以实现页面的局部刷新,但是如果页面的每个部分都改变了,为什么不重新做一次服务器请求呢?5.对呈现的操纵Ajax看起来像是一个纯粹的UI技术,但事实上它不是。它实际上是一个数据同步、操纵和传输的技术。对于可维护的干净的web应用,不使用Ajax来控制页面呈现是一个不错的主意。JavaScript可以很简单的处理XHMTL/HTML/DOM,使用CSS规则就可以很好的表达数据显示。参考文章:概论什么是XML?XML是EXtensibleMarkupLanguage的缩写XML是一种类似于HTML的标记语言XML是用来描述数据的(用来存放数据的)XML的标记不是在XML中预定义的,你必须定义自己的标记XML使用文档类型定义(DTD)或者模式(Schema)来描述数据XML使用DTD或者Schema后就是自描述的语言XML语法所有的XML文档必须有一个结束标记。所有元素必须正确的嵌套包含。所有的XML文档必须有一个根元素,XML文档中的第一个元素就是根元素。元素的属性值必须使用引号。XML标记都是大小写敏感的,这与html不同。使用XML,空白将被保留。使用XML,新行总是被标识为LF(LineFeed,换行)。这与unix中换行一致。在XML中注释的语法基本上和HTML中的一样。!--这是一个注释--XML元素指的是从该元素的开始标记到结束标记之间的这部分内容。xml可以创建自己的元素。所有元素嵌套在根元素中。XML元素有元素内容,混合内容,简单内容或者空内容。每个元素都可以拥有自己的属性。数据可以存储在元素中,也可以存储在元素的属性中。Eg:personsex=female!—数据female保存在属性中--4firstnameAnna/firstname!—数据Anna保存在元素中--XML的敏感字符下面是五个在XML文档中预定义好的实体:<小于号>大于号&&和''单引号"双引号实体必须以符号&开头,以符号;结尾。注意:只有字符和&字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。xpathFunctionsReferenceAccessorErrorandTraceNumericStringAnyURIBooleanDuration/Date/TimeQNameThedefaultprefixforthefunctionnamespaceisfn:,andtheURIis:内容显示CSS(叠层样式表)和XSL(可扩展样式语言)都可以定义XML文件的显示.如果一个XML文件仅仅用于交换信息,就无需考虑它的显示问题。编辑XML文件,我们仅仅需要关注文件的内容、信息的结构,至于它怎么显示,则交给CSS(叠层样式表)和XSL(可扩展样式语言)来完成。此外使用数据岛技术与javascript也能定制xml的内容显示,这就使得用户可以根据需要来定义数据的表现形式。51)用css来显示xml具体的语法如下:〈?xml-stylesheethref=URLtype=text/css?〉其中,xml-stylesheet是关键字,表明引用样式表设定;href=URL用来指定样式表所在的位置.使用步骤:a)建立样式表档案.(*.css)b)将css连接到xml文件。(使用上面的语法)示例:)用xsl来表示xmlXSL是怎样工作的呢?XML文件在展开后是一种树状结构,称为“原始树”,XSL处理器(现在只有IE5支持XSL,在IE5中的处理器叫:XSLStylesheetProcessor)从这个树状结构读取信息,根据XSL样式的指示对这个“原始树”进行排序、复制、过滤、删除、选择、运算等操作后产生另外一个“结果树”,然后在“结果树”中加入一些新的显示控制信息,如表格、其他文字、图形以及一些有关显示格式的信息。XSL处理器根据XSL样式表的指示读取XML文件中的信息,然后再重新组合后转换产生一个Well-Formed的HTML文件。XSL由三部分组成:XML文档转换(XMLDocumentTransformation,又叫XSLT),模式匹配语法(apatternmatchingsyntax,又叫XPath),格式话对象(aformattingobjectinterpretation,XSLFO)。具体的语法如下:〈?xml-stylesheethref=URLtype=text/xsl?〉其中,xml-stylesheet是关键字,表明引用样式表设定;href=URL用来指定样式表所在的位置.xsl:stylesheetxmlns:xsl=:xsl=这一句主要用来说明该XSL样式表是使用W3C所制定的XSL,设定值就是XSL规范所在的URL地址。1.xsl:stylesheet:作为XSL样式表中的根元素,在每个XSL文件中都必须有。2.xsl:template:指定XML文件中的特定标记来定义排版样式。属性:language:指定使用哪种脚本语言。match:设定从XML文件中哪个标记开始来读取信息,如果值为“/”那么表示从XML文件的根元素开始读取信息。3.xsl:value-of:从XML文件中的特定标记中将信息读出来。属性:select:设定读取哪一个标记中的信息。例:〈xsl:templateselect=title〉:表示要从〈title〉标记中将信息读出来。4.xsl:for-each:将排版样式应用到XML文件中相同的标记(类似于循环语句)。属性:select:设定从哪一个标记中读取数据。order-by:在读取信息完成之后,设定依据什么标记来进行排序,值为某一特定标记,如在标记名前用“+”号表示是由大到小的排序,反之用“-”号。5.xsl:comment:在此元素中的内容,XSL将它作为注释信息,并不显示在浏览器中。6.xsl:apply-templates:指示XSL处理器在该XSL样式表中寻找合适的〈xsl:template〉中设定的样式来用。7.xsl:copy:从XML文件中拷贝标记中的信息到输出的文件中。无属性。8.xsl:if:与一般程序中的If...Then类似。6语法:xsl:ifexpr=script-expressionlanguage=language-nametest=pattern属性:expr──脚本语言表达式,计算结果为真或假;如果结果为真,且通过test,则在输出中显示其中内容(可省略此项属性)。language──expr属性中表达式的脚本语言类型,其取值与HTML标记SCRIPT的LANGUAGE属性的取值相同,缺省为JScript。test──源数据测试条件。9.xsl:choose、xsl:when、xsl:otherwise:这三个元素是用来设定较为复杂的条件式,一般共同配合使用。其中xsl:when有script、language、test三种属性,与前面xsl:if中的属性含义是一样的。10.xsl:attribute和xsl:element:可以在标记中附加一个属性名称或新建一个标记。XSL样式表不但可以引用HTML标记,而且也可以建立新的标记和属性,然后一起结合XML文件中的信息来显示。其中,xsl:attribute是在标记中新增一个属性,xsl:element是新建一个标记。它们有共同的属性。示例:使用步骤:c)建立xsl样式档案表d)将xsl样式表连接到xml文件。(使用上面的语法)3)xml数据岛技术xml所谓的数据岛就是在html网页中嵌入XML的一种技术。使用步骤:1将XML文档载入数据岛xmls

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功