国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Ajax技術(shù)在療養(yǎng)院信息系統(tǒng)目錄樹(shù)菜單中的應(yīng)用

2017-10-26 15:01陳燕群張華貴
電腦知識(shí)與技術(shù) 2017年22期

陳燕群 張華貴

摘要:隨著網(wǎng)絡(luò)技術(shù),WEB技術(shù)的高速發(fā)展,網(wǎng)頁(yè)上的動(dòng)態(tài)交互與感知已經(jīng)被越來(lái)越多的用戶所喜歡并接受,原來(lái)只有在客戶端程序才能實(shí)現(xiàn)的交互與動(dòng)態(tài)響應(yīng),現(xiàn)在利用JavaScript和Ajax技術(shù)也能在WEB程序中實(shí)現(xiàn)了。通過(guò)這兩種技術(shù)的結(jié)合,使得開(kāi)發(fā)者構(gòu)建的WEB程序能夠像WINDOWS中的桌面程序一樣自由、豐富、更好的響應(yīng)用戶,而不用每次都需要提交頁(yè)面,刷新后才能看到結(jié)果。文章通過(guò)對(duì)Ajax技術(shù)的開(kāi)發(fā)研究,成功地運(yùn)用到療養(yǎng)院信息系統(tǒng)中,提高了頁(yè)面的響應(yīng)速度。

關(guān)鍵詞:Ajax技術(shù);JavaScript;WEB信息系統(tǒng)

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)22-0114-02

Ajax的全稱是Asynchronous iavascript and XML其中,Asyn-chronous的意思是異步,這是一種利用異步調(diào)用的方式解決WEB頁(yè)面局部刷新的技術(shù),無(wú)論你的瀏覽器是哪種,它都可以很好的執(zhí)行,而服務(wù)端的開(kāi)發(fā)語(yǔ)言無(wú)論是PHP、ASP、JSP、.NET等語(yǔ)言開(kāi)發(fā)的WEB程序都能很好地融合到里面。異步交互的意思就是:利用iavascript來(lái)技術(shù)實(shí)現(xiàn)瀏覽器和服務(wù)器間的數(shù)據(jù)交互,就是頁(yè)面程序無(wú)需重新載入或刷新,就可以向服務(wù)器端發(fā)送請(qǐng)求,服務(wù)器端響應(yīng)后返回所需數(shù)據(jù),返回的數(shù)據(jù)可以是XML、文本、JsON等格式,利用iavascript對(duì)返回的數(shù)據(jù)進(jìn)行解析和處理,顯示在用戶界面。

1Ajax技術(shù)及其核心對(duì)象

我們都知道Ajax使用的是JavaScript技術(shù),這是一種客戶端使用的腳本語(yǔ)言,在網(wǎng)頁(yè)中應(yīng)用比較廣泛,而且支持跨平臺(tái)運(yùn)行。Ajax主要是利用JavaScript和XMLHttpRequest核心對(duì)象,發(fā)及DOM、XML、JSON來(lái)響應(yīng)和操作數(shù)據(jù)。

1.1Don

DOM就是英文(Document Object Model)的縮寫(xiě),全稱叫文檔對(duì)象模型,它提供了整個(gè)網(wǎng)頁(yè)文件內(nèi)容的表述結(jié)構(gòu)。通過(guò)DOM,瀏覽器把頁(yè)面看做是一組對(duì)象,程序員就可以操作對(duì)象中所有的成員,如建立或更改對(duì)象中成員的名稱、ID、響應(yīng)的事件,甚至通過(guò)與腳本語(yǔ)言的結(jié)合可以實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)顯示、隱藏、存儲(chǔ),增加或者修改成員,使得網(wǎng)頁(yè)與用戶的交互性大大增強(qiáng)。

1.2XML

DOM就是英文(Extensible Markup Language)的縮寫(xiě),全稱叫可擴(kuò)展標(biāo)記語(yǔ)言,這是一種標(biāo)準(zhǔn)的通用的一種標(biāo)記語(yǔ)言,用于將電子文件進(jìn)行結(jié)構(gòu)化標(biāo)記,并且標(biāo)記的數(shù)據(jù)或文檔可以很方便地進(jìn)行數(shù)據(jù)共享,而且它是一種跨平臺(tái)的標(biāo)記語(yǔ)言,使得程序員可以在各種環(huán)境中進(jìn)行程序開(kāi)發(fā)并共享其數(shù)據(jù)。

1.3JSON

JSON就是英文(JavaScript Object Notationl的縮寫(xiě),它是一種輕量級(jí)的數(shù)據(jù)交換格式,說(shuō)得直白一些,它就是將一組數(shù)據(jù)以標(biāo)準(zhǔn)化的方式返回給程序員,這種標(biāo)準(zhǔn)化的格式易于閱讀和編程,通過(guò)Ajax返回的這種JsON數(shù)據(jù),能夠更快的被解析和渲染,響應(yīng)速度更快。

1.4XMLHttpRequest

XMLHttpRequest是Ajax技術(shù)的核心對(duì)象,它是通過(guò)瀏覽器中的JavaScript腳本程序來(lái)與服務(wù)器進(jìn)行通信,并且在頁(yè)面不刷新時(shí)就可以獲取到服務(wù)器數(shù)據(jù),并返回給用戶的頁(yè)面端,也可以直接向服務(wù)器提交數(shù)據(jù)。

通過(guò)上面幾種技術(shù)的混合運(yùn)行,就可以完全實(shí)現(xiàn)Ajax,并實(shí)時(shí)操作用戶端頁(yè)面。

2建立Ajax應(yīng)用代碼分析

對(duì)于一個(gè)Ajax程序來(lái)說(shuō),有些代碼是必要的,即便你使用JQUERY或別的JAVASCRIPT框架,其中依然要使用類似下面這些代碼。下面我們來(lái)看這個(gè)函數(shù):

在Ajax請(qǐng)求對(duì)象中,有一些專用的屬性,這里來(lái)介紹一下常用屬性的作用和功能。

readyState:服務(wù)器處理請(qǐng)求時(shí)會(huì)作出多次響應(yīng),這個(gè)屬性用來(lái)指示請(qǐng)求處理的情況。共有四種情況,0表示未初始化,尚未調(diào)用open()方法;1表示啟動(dòng),尚未調(diào)用send()方法;2表示已發(fā)送,但尚未收到響應(yīng);3表示接收,已經(jīng)收到部分響應(yīng)數(shù)據(jù);4表示已完成,收到全部響應(yīng)數(shù)據(jù)。

responseXML:如果服務(wù)器將數(shù)據(jù)作為XML發(fā)回來(lái),這個(gè)屬性表示發(fā)回的數(shù)據(jù)格式包含XML的樹(shù)形結(jié)構(gòu),其中也包含服務(wù)器的響應(yīng)。

responseText:服務(wù)器的響應(yīng)數(shù)據(jù)會(huì)存儲(chǔ)在responseText中,也就是文本文件了。

status和statusText:這兩個(gè)屬性用來(lái)告訴你的服務(wù)器所返回的HTTP的狀態(tài),如果是200,就表示“OK”,服務(wù)器已準(zhǔn)備就緒了,如果是404就表示“未找到”,服務(wù)器無(wú)法找到所需請(qǐng)求的URL地址。

orrreadystatechange:這個(gè)屬性用于執(zhí)行服務(wù)器響應(yīng)請(qǐng)求時(shí)需要的回調(diào)函數(shù)。

下面,我們就來(lái)具體分析Ajax技術(shù)在療養(yǎng)院信息系統(tǒng)的讀取目錄樹(shù)的主要應(yīng)用方式。

3療養(yǎng)院信息系統(tǒng)目錄樹(shù)的研究分析

在療養(yǎng)院信息系統(tǒng)中,目錄樹(shù)的顯示方式如下圖所示:

首先,我們來(lái)分析一下為何要在目錄樹(shù)里采用Ajax技術(shù),在這個(gè)信息系統(tǒng)的目錄樹(shù)中,每個(gè)療養(yǎng)員都有相同的各種檢查記錄功能,通過(guò)權(quán)限的設(shè)置可以增加或刪除其權(quán)限菜單,有時(shí)不同的醫(yī)師具有不同的權(quán)限菜單,多的時(shí)候可能會(huì)多達(dá)二十多種功能。如果療養(yǎng)員的人數(shù)較多,如有時(shí)多達(dá)二百多人時(shí),所有人的功能菜單相加起來(lái)就會(huì)很龐大,提取數(shù)據(jù)速度會(huì)很慢,有時(shí)多達(dá)十分多鐘,為了改變這種方式,所以采用Ajax技術(shù),首先將每個(gè)療養(yǎng)員提取出來(lái),然后再點(diǎn)擊每個(gè)“+”加號(hào),動(dòng)態(tài)載入所需的功能菜單,通過(guò)這種方式,大大節(jié)約了瀏覽器載人頁(yè)面的時(shí)間,也減少了網(wǎng)絡(luò)開(kāi)銷,原來(lái)需要十多分鐘載人的頁(yè)面,現(xiàn)在幾秒鐘就可以完全載人了。

數(shù)據(jù)庫(kù)系統(tǒng)我們使用的是ORACLEllg,由于目錄樹(shù)中的功能菜單層級(jí)比較多,所以設(shè)計(jì)時(shí)按照下圖來(lái)設(shè)計(jì):

NO序號(hào)為頂層節(jié)點(diǎn),NAME為節(jié)點(diǎn)的名稱,PARENTNO為父節(jié)點(diǎn),也就是它的上一級(jí)菜單的NO號(hào),DISPLAY_ORDER為顯示的序號(hào),序號(hào)越小顯示位置越靠前。MODELID數(shù)據(jù)庫(kù)中的模板號(hào),本項(xiàng)功能菜單的模板。URL本項(xiàng)功能菜單的地址。FLAG執(zhí)行標(biāo)志,DEFT能夠執(zhí)行此項(xiàng)功能的科室。對(duì)于目錄樹(shù)的頂層療養(yǎng)員姓名,通過(guò)數(shù)據(jù)庫(kù)的SQL查詢語(yǔ)句可以一次性取出來(lái),目錄樹(shù)的功能菜單則通過(guò)NO和PARENTNO序號(hào)使用遞歸算法來(lái)提取出父子關(guān)系放入一個(gè)視圖中,然后根據(jù)需要提出異步Ajax請(qǐng)求,在需要時(shí)返回子功能菜單名稱以及URL地址,這樣就完成了整個(gè)目錄樹(shù)的異步請(qǐng)求,并成功讀取各級(jí)子菜單功能。endprint

会泽县| 静乐县| 洞头县| 马尔康县| 河池市| 嘉兴市| 渭南市| 葫芦岛市| 洪雅县| 藁城市| 长垣县| 凤庆县| 长白| 桐柏县| 江北区| 呼伦贝尔市| 兴国县| 绩溪县| 冀州市| 垣曲县| 嘉义市| 康定县| 灵宝市| 巴林左旗| 柳林县| 蒙自县| 龙南县| 大厂| 菏泽市| 泰州市| 兴文县| 稷山县| 潮安县| 循化| 福州市| 宁强县| 卓资县| 宁蒗| 车致| 安岳县| 邵阳市|