一、引言
传统的Web页面重载机制给用户一种不连贯的体验,因此,关于页面载入技术的研究日益成为Web应用程序设计的关键。
B/S 结构, 即Browser/Server( 浏览器/服务器) 结构, 是随着Internet 技术的兴起, 对C/S 结构的一种变化或者改进的结构。在这种结构下, 用户界面完全通过WWW浏览器实现, 无需开发客户端软件, 在维护时, 用户只需更改服务器端的代码即可, 易于管理和维护, 在企业信息管理系统中有着广泛的应用, 但B/S 系统在应用中面临着一些问题:
·为了在页面上刷新显示一个服务端的变量, 必须重新加载整个页面, 新提供的信息和用户等待的时间不成比例, 网络缓慢时用户难以忍受;
·由于程序对网页的几乎所有操作都需要重新发送整个页面的数据, 所以很浪费网络流量;
·提交表单后, 用户点击刷新按钮, 浏览器提示“无法刷新此页除非重新发送数据”。
二、Ajax技术工作原理
Ajax 是Asynchronous、JavaScript and XML 的缩写。Ajax 概念的最早提出者Jesse James Garrett 认为: Ajax 并不是一门新的语言或技术, 它实际上是几项技术按一定的方式组合在一起, 在共同的协作中发挥各自的作用。它包括:
2.1 XMLHttpRequest 对象
JavaScript 对象XMLHttpRequest 是Ajax 的核心,XMLHttpRequest 是XMLHTTP 组件的对象。通过这个对象Ajax 可以像桌面应用程序一样只同服务器进行数据层面的交换, 而不用每次都刷新界面。
2.2 JavaScript
JavaScript 是一种基于对象和事件驱动并具有安全性能的脚本语言, 具有交互性、简单性和动态性等特点。其在Ajax 应用程序中, 将HTML、DOM 和XMLHttpRequest对象联系起来, 成为它们之间沟通的渠道。Ajax 利用JavaScript 的特性实现Web 应用程序对用户行为触发的实时响应和处理。
2.3 DOM( Document Object Model, 文档对象模型)
DOM 是表示文档( 比如HTML 和XML) 和访问、操作构成文档的各种元素的应用程序接口( API) , 一种基于树型的解析技术, 其本质是建立网页与Script 或程序语言沟通的桥梁。脚本语言通过D0M才可以跟页面进行交互,通过此接口JavaScript 可以以树形结构的方式遍历整个HTML/XHTML 文档, 获取文档节点对象, 读取、修改文档节点的属性, 并将这此节点的属性发送给服务器或者用服务器返回的数据更新节点属性值, 从而更改文档的内容。
2.4 XML( Extensible Markup Language 可扩展标识语言)
XML 是一套定义语义标记的规则, 也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。使用XML 可以规范的定义结构化数据, 使网上传输的数据和文档符合统一的标准。用XML 表述的数据和文档, 可以很容易地让所有程序共享。
针对本文第一节提到的一系列问题, Ajax 技术的应用为我们提供了更好的解决方案。Ajax 的工作原理相当于在用户和服务器之间加了一个中间层———Ajax引擎, 使用户的请求与服务器响应异步化, 并非所用的数据处理都交由服务器, 部分数据或校验由Ajax 引擎处理, 当需要向服务器读数据时.才向服务器发送请求,如图1所示。这样在整个过程中,只需要交换少量的数据。既减轻了服务器和网络的负担,又加快了响应速度, 缩短了用户的等待时间。
图1 Ajax技术
Ajax引擎可以实现浏览器和服务器信息交互的异步化。一方面,通过JavaScript脚本编程语言灵活地处理各种用户请求,并利用DOM和CSS完成用户界面的动态和格式化显示;另一方面,在无需刷新和重载浏览器页面的前提下,通过JavaScrip,利用XMLHttpRequest对象与服务器进行线路化的数据交换,一个完整的Ajax执行步骤如图2所示。
图2 Ajax执行步骤
Ajax采用客户端脚本与Web服务器交换数据。所以,不必采用会中断交互的完整页面刷新,就可以动态地更新Web页面。使用Ajax,可以创建更加丰富、更加动态的Web应用程序用户界面,其即时性与可用性甚至能够接近本机桌面应用程序。大量应用Ajax解决组织结构的载入问题,避免了因循环载入数据造成的运算负荷大、最大限度的减少控件量、增加互动和体验。系统在日程管理、即时通讯、权限分配等模块中采用了Ajax技术,提高了系统的运行效率,也让系统具备了更好的可维护性和扩展性。通过 Ajax,因特网应用程序可以变得更完善,更友好。
三、Ajax技术在企业信息系统中的应用
3.1企业在线考试系统的无刷新答案提交
在企业在线考试系统中,用Ajax技术实现考试的无刷新自动实时提交,防止意外导致考试结果保存错误,以下为关键代码:
//捕捉用户操作,调用保存函数
3.2企业在线培训系统的学习时间的定时读取与保存
在企业在线培训系统中,用Ajax技术实现在线学习时间的读取与保存,自动计算学时学分,以下为关键代码:
3.3企业信息系统录入信息时的自动填充
在企业信息系统中,有时用户会录入大量数据信息,而有的数据项必须是系统已有的数据,用户希望在录入数据时系统提供自动填充功能,无论输入部分汉字、英文或数字或是其中任意组合,系统能弹出完整信息供用户选择,类似百度的自动填充效果,利用A jax技术可实现此功能,关键代码如下:
3.4 企业信息系统调用复杂存储过程时的信息交互
企业信息系统应用中,往往在后台处理许多复杂的业务逻辑,最常用的手段是调用数据库后台的存储过程,为了不使静态页面长时间处于等待状态,可采用此方法:在前台显示Gif动画,通过Ajax调用后台存储过程,关键代码如下:
四、总结
Ajax 技术以后, 应用程序不必完全依赖于从服务器重新载入页面来向用户呈现更改, 它能提供高度交互的Web应用, 与桌面应用所差无几, 用户既可以继续享受web 应用带来的便利, 又可以继续享受桌面应用的反应灵敏, 界面丰富, 随着人们对于Ajax 技术的进一步认识, 其应用必将更加广泛。Ajax采用独特的远程脚本调用技术,异步实现页面数据的更新,使用全新的网页应用程序设计模式,解决了传统页面的重载问题。将Ajax技术并引入到企业信息系统中,Ajax技术将浏览器端和服务器端传统的同步交互通信方式改变为异步交互通信方式,从而减轻了服务器负担、提高了系统的响应速度。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:Ajax技术在企业信息系统中的应用研究