AJAX - Asynchronous JavaScript and XML 异步 JavaScript 和 XML AJAX 是 Asynchronous JavaScript And XML 的缩写,中文译为异步 JavaScript 和 XML。 AJAX 是创建快速交互动态网页应用的 Web 开发技术。使用 Ajax 的网页能快速将增量更新呈现到用户界面,无需要重载 (刷新) 整个页面,能够更快地响应用户操作。 AJAX 是 2005 年由 Jesse James Garrett 提出的新术语,用来描述使用现有技术集合的一种新方法,包括: HTML 或 XHTM、CSS, JavaScript, DOM, XML, XSLT, 及最重要的 XMLHttpRequest。 AJAX 不是新的编程语言,仅是使用现有标准的一种新方法。AJAX 是与服务器交换数据并更新部分网页 (或局部) 的技术,在不重新加载整个页面的情况下。 AJAX 是独立于 Web 服务器软件的一种浏览器技术,AJAX 应用程序独立于浏览器和平台。AJAX 可使因特网应用程序变得更小、更快,更友好。 智能编辑重构 批处理式 "数字 Python IDE" 集成开发环境 (集成高效 Cython PyInstaller 批处理小程序) http://dt.digitser.cn/zh-CN/ide/idepy/index.html Ajax 的核心是 JavaScript 对象 XmlHttpRequest,在 Internet Explorer 5 中首次引入,是支持异步请求的一种技术。简而言之,XmlHttpRequest 可以采用 JavaScript 向服务器提出请求并处理响应,且不阻塞用户。 这个术语源自描述从基于 Web 的应用到基于数据的应用的转换。在基于数据的应用中,用户要求的数据 (如联系人列表),可从独立于实际网页的服务端取得并被动态地写入网页中,给缓慢的 Web 应用体验着色,使之像桌面应用一样。 AJAX 在浏览器和 Web 服务器之间使用异步数据传输 (HTTP 请求),这样可使网页从服务器请求少量信息,而不是整个页面。通过在后台和服务器之间的少量数据交换,AJAX 就能使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统网页 (不使用 AJAX) 若需更新内容,必须重载整个页面。 Web 应用程序较桌面应用程序有诸多优势:它能涉及广大用户、更易安装维护、更易开发。但因特网应用程序并不像传统桌面应用程序那样完善且友好, AJAX 技术能使因特网应用程序可变得更完善,友好。 应用历史 AJAX 技术在 1998 年前后得到应用。允许客户端脚本发送 HTTP 请求 (XMLHTTP) 的第一个组件由 Outlook Web Access 小组写成。 该组件属于微软 Exchange Server,并迅速成了 Internet Explorer 4.0 的一部分。某些观察家认为,Outlook Web Access 是第一个应用 Ajax 技术的成功商业应用程序,并成为包括 Oddpost 的网络邮件产品在内的许多产品的领头羊。 2005年初,许多事件使 Ajax 技术被大众所接受。Google 在它著名的交互应用程序中使用了异步通讯,如:Google、Google 地图、Google 搜索建议、Gmail 等。Ajax 这个词由《Ajax: A New Approach to Web Applications》一文所创,该文的迅速流传提高了人们使用 Ajax 技术的意识。另外,对 Mozilla/Gecko 的支持也使得该技术走向成熟,变得极为易用。 AJAX 前景非常乐观,可提高系统性能,优化用户界面。AJAX 现有直接框架 AjaxPro,可以引入 AjaxPro.2.dll 文件,可直接在前台页面采用 JS 调用后台页面。但此框架与 FORM 验证有冲突。另外,微软也引入了 AJAX 组件,需要添加 AjaxControlToolkit.dll 文件,可以在控件列表中出现相关控件。 开发模式 许多重要技术和 AJAX 开发模式,可以从现有知识中获取。譬如:在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已包含在 Web 服务中。同时,随着技术的成熟还有许多地方需要改进,特别是 UI 部分的易用性。 AJAX 开发与传统 C/S 开发有很大不同。这些不同引入了新的编程问题,最大的问题在于易用性。 由于 AJAX 依赖浏览器的 JavaScript 和 XML,浏览器的兼容性和支持的标准也变得和 JavaScript 运行时性能一样重要。这些问题中的大部分源于浏览器、服务器和技术的组合,因此,必须理解后才能最大限度的使用 AJAX 技术。 综合各种变化的技术和强耦合的客户服务端环境,AJAX 提出了一种新的开发方式。 AJAX 开发人员必须理解传统的 MVC 架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑 C/S 外部环境和使用 AJAX 技术来重定型 MVC 边界。最重要的是,AJAX 开发人员必须禁止以页面集合的方式来考虑 Web 应用,需要将其认为是单个页面。一旦 UI 设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和改变技术集。 随着 AJAX 迅速引人注意,开发人员对这种技术的期待也在迅速增加。就像任何新技术,AJAX 的兴旺也需要开发工具/编程语言及相关技术系统的支撑。 扫一扫关注 德云社区 微信公众号 版权声明: 本文为独家原创稿件,版权归 德云社区,未经许可不得转载。 |