一、引言
傳統的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.guhuozai8.cn/
本文標題:Ajax技術在企業信息系統中的應用研究