![]() |
|
当您在使用浏览器浏览网页的时候,您是否经常遇到上面的情况?当您面对空白而缓慢展现的屏幕时,您是否感到痛苦甚至愤怒? 现在,有一种越来越流行越热的“老”技术,可以改变这种窘迫的局面。那就是 Ajax。如今,随着 Gmail 、Google-maps 的应用和各种浏览器的支持, Ajax 正逐渐吸引全世界的眼球。 1.Ajax 技术简介 AJAX(Asynchronous JavaScript and XML,即异步JavaScript+XML),其实是多种技术的综合。正如Ajax的命名者JesseJames Garrett 所指出的: Ajax不是一项技术。它其实是几项技术,每项技术自身都很繁荣,它们以强有力的全新方式结合起来。 Ajax主要涵盖以下几方面的技术: * 运用 XHTML 和 CSS 实现基于各种标准的展示。 * 运用文档对象模型( Document Object Model )实现动态显示和交互。 * 运用 XML 和 XSLT 实现数据交换和操作。 * 运用 XMLHttpReque t 实现异步数据检索。 * JavaScript 将所有这些绑定到一起。 与传统的 Web 应用不同, Ajax 采用异步交互过程。 Ajax 在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理 — 等待 — 处理 — 等待缺点。用户的浏览器在执行任务时即装载了 Ajax 引擎。 Ajax 引擎用 JavaScript 语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。 Ajax 引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。 AJAX 的原则是 “ 按需取数据 ” ,使用 Ajax 可以最大程度的减少冗余请求,和响应对服务器造成的负担。
2.Ajax 技术与 ERP 当前主流的 ERP 采取的是 B/S 架构,在 ERP 的实际应用中,也存在许多传统 Web 开发方式无法解决的问题。虽然 Ajax 技术有待进一步完善和成熟,但是在 ERP 开发中适当地研究和引入 Ajax 开发思想和技术,解决传统方法难以应付的问题,无疑对开发人员和客户都是有益的。 下面就 Ajax 技术在 ERP 中可能的应用场景进行简单的讨论。 (1) 数据验证 在进行表单内容的填写和更新时,有的时候需要将更新的数据到数据库中进行一下数据验证。传统的数据验证 通常有两种方式:一种是直接填写,然后提交表单,这种方式需要将这个页面提交到服务器端进行验证,整个过程不仅时间长而且造成了服务器不必要的负担;第二种方式是改进了的验证过程,用户可以通过点击相应的验证按钮,打开新窗口查看验证结果,但是这样需要新开一个浏览器窗口或者对话框,还需要专门编写验证的页面,比较耗费系统资源。而使用 Ajax 技术,可以由 XMLHttpReque t 对象发出验证请求,根据返回的 HTTP 响应判断验证是否成功,整个过程不需要弹出新窗口,也不需要将整个页面提交到服务器,快速而又不加重服务器负担。 (2) 树形结构 分类树或者树形结构在 ERP 系统中使用得非常广泛。应用 Ajax 技术可以 改进分类树的实现机制。在初始化页面时,只获取第一级子分类的数据并且显示;当用户点开一级分类的第一节点时,页面会通过 Ajax 向服务器请求当前分类所属的二级子分类的所有数据;如果再请求已经呈现的二级分类的某一节点时,再次向服务器请求当前分类所属的三级子分类的所有数据,以此类推。页面会根据用户的操作向服务器请求它所需要的数据,这样就不会存在数据的冗余,减少了数据下载总量。同时,更新页面时不需要重载所有内容,只更新需要更新的那部分内容即可,相对于以前后台处理并且重载的方式,大大缩短了用户的等待时间。 (3)数据自动更新 Ajax出现之前,用户为了即使了解相应的内容必须不断刷新页面,查看是否有新的内容变化,或者页面本身实现定时刷新的功能。有可能会发生这种情况;有一段时间网页的内容没有发生任何变化,但是用户并不知道,仍然不断的刷新页面;或者用户失去了耐心,放弃了刷新页面,却很有可能在此有新的消息出现,这样就错过了第一时间得到消息的机会。 应用Ajax可以改善这种情况,页面加载以后,会通过 Ajax 引擎在后台进行定时的轮询,向服务器发送请求,查看是否有最新的消息。如果有则将新的数据(而不是所有数据)下载并且在页面上进行动态的更新,通过一定的方式通知用户(实现这样的功能正是 JavaScript 的强项)。这样即避免了用户不断手工刷新页面的不便,也不会因为重复刷新页面造成资源浪费。 需要注意的是,虽然 Ajax 已经获得广泛的支持,但实际的开发中,还是要注意跨浏览器的问题,这主要是在 JavaScript 编程部分。不过许多流行的框架封装了这些细节部分,可以解决这一问题。另外一方面,如果用户还在大量使用比较早期的浏览器版本, Ajax 技术可能就无法奏效,在实施的时候这一点值得注意。 Ajax为Web应用开发提供了新的机会,也为 ERP 系统提出了新的要求。当因为 Ajax 技术而使得用户感受到全新体验的时候, 赢家不会仅仅是用户。
|
||||||||