- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AJAX的高级Web应用程序开发技术研究.doc
基于AJAX的高级Web应用程序开发技术研究
-
1AJAX简介 1.1AJAX定义 异步java script和XML(Asynchronousjava scriptand,XML,AJAX)是多种技术的综合,包括 java script,XHTML 和 CSS,DOM,XML 和 XSTL,XMLHttpRequest 。其特点是:使用 XHTML 和 CSS标准化呈现;使用DOM 实现动态显示和交互;使用 XML 和 XSTL 进行数据交换与处理;使用 XMLHttpRequest 进行异步数据读取;最后用java script 绑定和处理所有数据。 1.2AJAX的工作原理 与传统的 Web 应用不同,AJAX 采用异步交互过程。AJAX 在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理-等待-处理-等待的缺点。用户的浏览器在执行任务时即装载了 AJAX 引擎。AJAX引擎主要用java script 语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用java script 调用AJAX引擎来代替产生一个直接的 HTTP请求的用户动作,内存中的数据编辑、数据校验这些不需要重新载入整个页面的需求可以交给AJAX执行。AJAX最核心的理念是,传统应用中的浏览器直接与服务器交互,现在中间夹了一层 Script。也就是说,原来的Browser-Server 架构,现在是Browser-Ajax 引擎Server。假如是纯粹的AJAX应用,浏览器只向 AJAX 引擎发送消息,AJAX 引擎使用 XmlHttpRequest 向服务器发送请求,然后服务器在 XmlHttpRequest 的回复中带上相关消息,最后 AJAX 引擎分析这些消息,用 HTMLDOM 模型处理界面。如此,理论上可以完全消除按页刷新的需要。由于存在这样一个在后台的通信机制,原有开发 Web 程序时碰到的问题自然内部迎刃而解。最重要的是,使用了 AJAX框架不会与原有开发模型相冲突,如果处理得当AJAX的优势将显而易见,加上兼容性,一定会使它有机会在 Web 领域中占一席之地 。 1.3 AJAX的优点 与传统的 Web 服务相比,AJAX具有明显的优势:减轻了服务器的负担。因为AJAX的根本理念是“按需取数据”,所以最大可能在减少了冗余请求和响应对服务器造成的负担;非整页地刷新、更新页面,减少用户实际和心理等待时间;更好的用户体验;也可以把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,节约空间和带宽租用成本;可以异步调用外部数据;其是基于标准化的并被广泛支持的技术,并且不需要插件或下载小程序;AJAX使Web中的界面与应用分离,也可以说是数据与呈现分离;对于用户和 ISP来说是双赢的。 2AJAX技术的高级应用研究 2.1 AJAX语言对象面向的java script 由定义来看,java script是典型的AJAX语言。不同于Java,java script并不强调OO风格的编码。然而,java script居然全面支持所有OO语言的主要属性,即封装、继承和多态性。 数据类型:在Java中,一个类定义了一个数据及与它相关行为的组合。尽管java script保留了class关键字,但是它不支持与常规OOP语言一样的语义。在java script中,对象是用函数来定义的。事实上,通过在下面的示例中定义一个函数,就定义了一个简单的空类Calculator: function Calculator() {} 一个新实例的创建与在Java中相同使用new操作符: var myCalculator = new Calculator(); 上面函数不仅定义一个类,而且还担当一个构造器。在此,操作符new实现了实例化一个类Calculator的对象,并且返回一个对象参考而不是只调用该函数。 创建这样的空类在实际中并没有多大用处。下面,使用一个Java-脚本原型结构填充类定义。java script使用原型当作创建对象的模板。所有的原型属性和方法都被参考引用复制到一个类的每个对象中,所以它们都具有相同的值。使用者可以改变一个对象中原型属性的值,并且该新值会覆盖从原型中复制过来的缺省值,但是这仅对于在一个实例中。下列语句将把一个新属性添加到Calculator对象的原型上: Ctotype._prop = 0; 既然java script并没有提供一个方法
文档评论(0)