一、引言
傳統(tǒng)的Web頁面重載機制給用戶一種不連貫的體驗,因此,關(guān)于頁面載入技術(shù)的研究日益成為Web應(yīng)用程序設(shè)計的關(guān)鍵。
B/S 結(jié)構(gòu), 即Browser/Server( 瀏覽器/服務(wù)器) 結(jié)構(gòu), 是隨著Internet 技術(shù)的興起, 對C/S 結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下, 用戶界面完全通過WWW瀏覽器實現(xiàn), 無需開發(fā)客戶端軟件, 在維護時, 用戶只需更改服務(wù)器端的代碼即可, 易于管理和維護, 在企業(yè)信息管理系統(tǒng)中有著廣泛的應(yīng)用, 但B/S 系統(tǒng)在應(yīng)用中面臨著一些問題:
·為了在頁面上刷新顯示一個服務(wù)端的變量, 必須重新加載整個頁面, 新提供的信息和用戶等待的時間不成比例, 網(wǎng)絡(luò)緩慢時用戶難以忍受;
·由于程序?qū)W(wǎng)頁的幾乎所有操作都需要重新發(fā)送整個頁面的數(shù)據(jù), 所以很浪費網(wǎng)絡(luò)流量;
·提交表單后, 用戶點擊刷新按鈕, 瀏覽器提示“無法刷新此頁除非重新發(fā)送數(shù)據(jù)”。
二、Ajax技術(shù)工作原理
Ajax 是Asynchronous、JavaScript and XML 的縮寫。Ajax 概念的最早提出者Jesse James Garrett 認為: Ajax 并不是一門新的語言或技術(shù), 它實際上是幾項技術(shù)按一定的方式組合在一起, 在共同的協(xié)作中發(fā)揮各自的作用。它包括:
2.1 XMLHttpRequest 對象
JavaScript 對象XMLHttpRequest 是Ajax 的核心,XMLHttpRequest 是XMLHTTP 組件的對象。通過這個對象Ajax 可以像桌面應(yīng)用程序一樣只同服務(wù)器進行數(shù)據(jù)層面的交換, 而不用每次都刷新界面。
2.2 JavaScript
JavaScript 是一種基于對象和事件驅(qū)動并具有安全性能的腳本語言, 具有交互性、簡單性和動態(tài)性等特點。其在Ajax 應(yīng)用程序中, 將HTML、DOM 和XMLHttpRequest對象聯(lián)系起來, 成為它們之間溝通的渠道。Ajax 利用JavaScript 的特性實現(xiàn)Web 應(yīng)用程序?qū)τ脩粜袨橛|發(fā)的實時響應(yīng)和處理。
2.3 DOM( Document Object Model, 文檔對象模型)
DOM 是表示文檔( 比如HTML 和XML) 和訪問、操作構(gòu)成文檔的各種元素的應(yīng)用程序接口( API) , 一種基于樹型的解析技術(shù), 其本質(zhì)是建立網(wǎng)頁與Script 或程序語言溝通的橋梁。腳本語言通過D0M才可以跟頁面進行交互,通過此接口JavaScript 可以以樹形結(jié)構(gòu)的方式遍歷整個HTML/XHTML 文檔, 獲取文檔節(jié)點對象, 讀取、修改文檔節(jié)點的屬性, 并將這此節(jié)點的屬性發(fā)送給服務(wù)器或者用服務(wù)器返回的數(shù)據(jù)更新節(jié)點屬性值, 從而更改文檔的內(nèi)容。
2.4 XML( Extensible Markup Language 可擴展標識語言)
XML 是一套定義語義標記的規(guī)則, 也是元標記語言,即定義了用于定義其他與特定領(lǐng)域有關(guān)的、語義的、結(jié)構(gòu)化的標記語言的句法語言。使用XML 可以規(guī)范的定義結(jié)構(gòu)化數(shù)據(jù), 使網(wǎng)上傳輸?shù)臄?shù)據(jù)和文檔符合統(tǒng)一的標準。用XML 表述的數(shù)據(jù)和文檔, 可以很容易地讓所有程序共享。
針對本文第一節(jié)提到的一系列問題, Ajax 技術(shù)的應(yīng)用為我們提供了更好的解決方案。Ajax 的工作原理相當(dāng)于在用戶和服務(wù)器之間加了一個中間層———Ajax引擎, 使用戶的請求與服務(wù)器響應(yīng)異步化, 并非所用的數(shù)據(jù)處理都交由服務(wù)器, 部分數(shù)據(jù)或校驗由Ajax 引擎處理, 當(dāng)需要向服務(wù)器讀數(shù)據(jù)時.才向服務(wù)器發(fā)送請求,如圖1所示。這樣在整個過程中,只需要交換少量的數(shù)據(jù)。既減輕了服務(wù)器和網(wǎng)絡(luò)的負擔(dān),又加快了響應(yīng)速度, 縮短了用戶的等待時間。
圖1 Ajax技術(shù)
Ajax引擎可以實現(xiàn)瀏覽器和服務(wù)器信息交互的異步化。一方面,通過JavaScript腳本編程語言靈活地處理各種用戶請求,并利用DOM和CSS完成用戶界面的動態(tài)和格式化顯示;另一方面,在無需刷新和重載瀏覽器頁面的前提下,通過JavaScrip,利用XMLHttpRequest對象與服務(wù)器進行線路化的數(shù)據(jù)交換,一個完整的Ajax執(zhí)行步驟如圖2所示。
圖2 Ajax執(zhí)行步驟
Ajax采用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)。所以,不必采用會中斷交互的完整頁面刷新,就可以動態(tài)地更新Web頁面。使用Ajax,可以創(chuàng)建更加豐富、更加動態(tài)的Web應(yīng)用程序用戶界面,其即時性與可用性甚至能夠接近本機桌面應(yīng)用程序。大量應(yīng)用Ajax解決組織結(jié)構(gòu)的載入問題,避免了因循環(huán)載入數(shù)據(jù)造成的運算負荷大、最大限度的減少控件量、增加互動和體驗。系統(tǒng)在日程管理、即時通訊、權(quán)限分配等模塊中采用了Ajax技術(shù),提高了系統(tǒng)的運行效率,也讓系統(tǒng)具備了更好的可維護性和擴展性。通過 Ajax,因特網(wǎng)應(yīng)用程序可以變得更完善,更友好。
三、Ajax技術(shù)在企業(yè)信息系統(tǒng)中的應(yīng)用
3.1企業(yè)在線考試系統(tǒng)的無刷新答案提交
在企業(yè)在線考試系統(tǒng)中,用Ajax技術(shù)實現(xiàn)考試的無刷新自動實時提交,防止意外導(dǎo)致考試結(jié)果保存錯誤,以下為關(guān)鍵代碼:
//捕捉用戶操作,調(diào)用保存函數(shù)
3.2企業(yè)在線培訓(xùn)系統(tǒng)的學(xué)習(xí)時間的定時讀取與保存
在企業(yè)在線培訓(xùn)系統(tǒng)中,用Ajax技術(shù)實現(xiàn)在線學(xué)習(xí)時間的讀取與保存,自動計算學(xué)時學(xué)分,以下為關(guān)鍵代碼:
3.3企業(yè)信息系統(tǒng)錄入信息時的自動填充
在企業(yè)信息系統(tǒng)中,有時用戶會錄入大量數(shù)據(jù)信息,而有的數(shù)據(jù)項必須是系統(tǒng)已有的數(shù)據(jù),用戶希望在錄入數(shù)據(jù)時系統(tǒng)提供自動填充功能,無論輸入部分漢字、英文或數(shù)字或是其中任意組合,系統(tǒng)能彈出完整信息供用戶選擇,類似百度的自動填充效果,利用A jax技術(shù)可實現(xiàn)此功能,關(guān)鍵代碼如下:
3.4 企業(yè)信息系統(tǒng)調(diào)用復(fù)雜存儲過程時的信息交互
企業(yè)信息系統(tǒng)應(yīng)用中,往往在后臺處理許多復(fù)雜的業(yè)務(wù)邏輯,最常用的手段是調(diào)用數(shù)據(jù)庫后臺的存儲過程,為了不使靜態(tài)頁面長時間處于等待狀態(tài),可采用此方法:在前臺顯示Gif動畫,通過Ajax調(diào)用后臺存儲過程,關(guān)鍵代碼如下:
四、總結(jié)
Ajax 技術(shù)以后, 應(yīng)用程序不必完全依賴于從服務(wù)器重新載入頁面來向用戶呈現(xiàn)更改, 它能提供高度交互的Web應(yīng)用, 與桌面應(yīng)用所差無幾, 用戶既可以繼續(xù)享受web 應(yīng)用帶來的便利, 又可以繼續(xù)享受桌面應(yīng)用的反應(yīng)靈敏, 界面豐富, 隨著人們對于Ajax 技術(shù)的進一步認識, 其應(yīng)用必將更加廣泛。Ajax采用獨特的遠程腳本調(diào)用技術(shù),異步實現(xiàn)頁面數(shù)據(jù)的更新,使用全新的網(wǎng)頁應(yīng)用程序設(shè)計模式,解決了傳統(tǒng)頁面的重載問題。將Ajax技術(shù)并引入到企業(yè)信息系統(tǒng)中,Ajax技術(shù)將瀏覽器端和服務(wù)器端傳統(tǒng)的同步交互通信方式改變?yōu)楫惒浇换ネㄐ欧绞?從而減輕了服務(wù)器負擔(dān)、提高了系統(tǒng)的響應(yīng)速度。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:Ajax技術(shù)在企業(yè)信息系統(tǒng)中的應(yīng)用研究
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112155643.html