999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

改善傳統WEB應用程序通信模式的兩種方法研究

2019-11-12 12:01:33高煥江高鵬
電腦知識與技術 2019年25期

高煥江 高鵬

摘要:為了解決傳統的WEB應用程序在客戶端和服務器通信模式方面存在的缺陷,提高WEB應用程序的交互性能,可以采用模態窗口或者Ajax技術啟動新線程來處理客戶端的不定時請求,在對這兩種技術作詳細介紹的基礎上,總結了他們各自的優劣之處。

關鍵詞:WEB程序;模態窗口;Ajax;模式研究

中圖分類號: TP399? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)25-0018-02

Abstract:To solve the problems which exist in the client and server communication mode of WEB applications, and enhance its interactive performance, this paper proposed two technology methods, the first is Modal Dialog Window, and the second is Ajax, both methods can be used to process the indefinite request of web clients. Based on the detailed introduction of the two methods, this paper summarizes the advantage and disadvantage of each method.

Key words: WEB application; modal dialog window;? Ajax; method research

WEB應用程序是基于現代網絡通信技術的最流行的信息化應用之一。傳統WEB應用程序在客戶端和服務器的通信模式方面存在一些缺陷,即客戶端每一次很小的數據請求都強制進行提交、等待、重新顯示的模式,所有步驟都隸屬于同一主進程。這種工作模式使得用戶在提交請求前錄入的有效數據容易丟失,系統閃爍現象嚴重,在響應靈敏性和交互性方面大打折扣。解決此類問題必須通過啟動新進程來處理客戶端的不定時數據請求。現有兩種方案:一種是通過調用模態窗口啟動同步進程;另一種是通過Ajax技術實現異步通信。

1 showModalDailog模態窗口方式

IE4.0以上的瀏覽器提供了一種簡便的方法來啟動新的客戶端進程,這就是使用showModalDialog()方法來彈出模態窗口。若客戶端需要在主進程執行的過程中獲取一些外部資源(如存儲于數據庫中的字段)而不想提交本頁面也不想改變服務器端主進程的執行,便可以把這些工作交給模態窗口來處理。模態窗口可以獲得主窗口的句柄,也可以把處理后的結果以字符串方式返回給主頁面,其工作流程如下圖所示:

從工作流程圖中可以看出,客戶端進程會在調用模態窗口處中止執行,在這期間腳本在模態窗口中自由運行而用戶在主頁面中不能進行任何操作。等到模態窗口關閉返回數據后客戶端主進程恢復。

使用腳本語言JavaScript調用模態窗口的語法如下:

var returnValue = showModalDialog(URL[, arguments] [, features])

參數說明:

URL:提交給模態窗口的新進程的處理程序;

features:模態窗口的顯示參數。

returnValue:模態窗口返回給客戶端的數據(一般為數字型或字符型);

可以看出模態窗口具有一些非常特殊的優勢。最明顯的是體現在參數傳遞上。如果傳遞普通的字符串可以直接附加在URL上進行傳遞,而特殊類型的數據傳遞可以設置arguments參數。如客戶端可以通過以下方式傳遞主窗口:showModalDialog(“implement.asp”, window, “…”),而在模態窗口處理頁面implement.asp中可以用var window1 = window.dialogArgument進行參數的接收,從而可以獲得對主窗口的完全控制權,也就是說可以調用主窗口的所有控件,函數以及事件。如果模態窗口向客戶端返回數據并自動關閉,可以使用以下代碼

window.returnValue = result

window.close()

由于模態窗口本質上是一種可自動關閉的對話框,因而在調用過程中會出現閃爍問題,我們可以通過設置顯示參數基本解決該問題,如把第三個features參數設為“ dialogHeight:0px;dialogWidth:0px;dialogLeft: 0px;dialogTop:0px;”。

2 Ajax方式

Ajax是Asynchronous JavaScript and XML的縮寫,它作為WEB2.0的標志,其優良的設計模式,良好的用戶體驗以及眾多瀏覽器廠商的支持越來越受到程序員的關注。與模態窗口方式相比,Ajax技術在提高web程序交互性方面的最大優勢是采用異步進程的方式,請求外部資源時不需中斷客戶端進程,從而大大減少用戶的等待時間,提高了系統的效率。

Ajax的核心是XMLHttpRequest對象,它是一種可以被大多數瀏覽器創建的特殊對象,通過它可以方便的以后臺異步方式與服務器進行數據交換而不用提交頁面。其具體實現步驟如下所述:

(1) 創建客戶端界面,通過某個事件觸發JavaScript調用Ajax引擎

(2) 初始化請求對象XMLHTTPRequest。通常可以使用以下統一代碼:

function getXmlHttpRequest(){

try{return new XMLHttpRequest();}

catch (e){try{return new ActiveXObject('Msxm12.XMLHTTP');}

}

(3) 發出數據請求。客戶端數據首先發送給XmlHttpRequest對象,該對象捕獲數據并異步向服務器發送請求。此時客戶端不會發生閃爍,延遲和消失,因而可以繼續使用程序。該步驟可用以下代碼實現:

function senddata(){

var url=" implement.asp?param=" + value;

xmlHttp= getXmlHttpRequest();

xmlHttp.open("GET", url , true);

xmlHttp.send(null);

xmlHttp.onreadystatechanged = statechanged;

}

其中,XmlHttpRequest對象open方法的第三個參數可以設置數據請求是異步還是同步。但在使用Ajax時傳遞的數據類型只能為數字或者字符類而不能是對象類,處理程序不能獲得對客戶端的完全控制。

(4) 應用程序處理請求并向客戶端返回結果。在此處響應程序用Request對象接收數據,進行業務邏輯處理。由于無法直接得到客戶端的句柄,必須對返回數據進行良好的組織。返回的結果可以有多種形式,包括:Html、JSON、文本數據和XML文檔等。

(5) 客戶端接收結果。當客戶端收到服務器返回結果實會觸發XmlHttpRequest對象的onreadystatechanged事件,因而只要在該事件中設計回調函數對該對象的狀態進行捕捉即可。對于XML文檔方式返回的結果用XmlHttpRequest對象的responseXML屬性接收,其他結果用responseText屬性接收。

(6) 完成對結果的處理。綜合使用HTML+javaScript+CSS更新客戶端需要更新的內容。

Ajax的工作流程可以用以下流程圖表示:

從以上論述中我們可以知道模態窗口和Ajax技術都能提高web應用程序交互性,但兩者在許多方面存在著差異,現總結如下:

4 結語

模態窗口和Ajax技術是在web應用程序中啟動新進程的兩種技術,而它們又各有優劣。由于模態窗口進程的同步性,它主要用于B/S型事務處理系統等業務邏輯具有明顯順序特征的系統,而后者則主要應用于網站等用戶體驗要求比較高的場合。

參考文獻:

[1] 唐克,王猛. Web應用軟件系統的性能分析與優化[J]. 電腦開發與應用, 2014 (7):42-44.

[2] 吳吉義,平玲娣. Web2.0主流應用技術——Ajax性能分析[J]. 計算機工程與設計,2008,4(29): 1913-1915.

[3] 張子平,謝小林. 基于Ajax技術實現搜索引擎中的搜索提示功能[J]. 東華理工大學學報,2008,3(31): 81-83.

[4] 李剛,宋偉.征服Ajax + lucene構建搜索引擎[M]. 北京郵電出版社,2006: 146-168.

[5] 徐紅勤. Ajax在網絡考試系統中的應用[J]. 計算機應用,2007(6):349-351.

[6] 譚明紅,王成亮. 基于頁面差異模式的Ajax框架設計及實現[J].微電子學與計算機,2008(25):106-108.

【通聯編輯:唐一東】

主站蜘蛛池模板: 国产91在线|日本| 亚洲成人一区二区三区| 久久国产拍爱| 2020精品极品国产色在线观看| 亚洲欧美在线看片AI| 一级黄色网站在线免费看| 久久人搡人人玩人妻精品一| 欧美日韩午夜| 久久这里只有精品23| 国产h视频在线观看视频| 国产乱子伦精品视频| 国产男人的天堂| 国产在线日本| 久久香蕉欧美精品| 丰满人妻久久中文字幕| 91成人试看福利体验区| 色播五月婷婷| 午夜啪啪网| 中文字幕 91| a亚洲视频| 久久特级毛片| 欧美www在线观看| 青青草综合网| 无码国内精品人妻少妇蜜桃视频| 亚洲精品第一页不卡| 国产午夜一级淫片| 国产中文一区a级毛片视频| 人人91人人澡人人妻人人爽| 深爱婷婷激情网| 夜夜高潮夜夜爽国产伦精品| 中文字幕亚洲电影| 中文毛片无遮挡播放免费| 精品少妇人妻无码久久| 国产亚洲精品自在久久不卡 | 久久婷婷五月综合色一区二区| 国产精品天干天干在线观看 | 自慰高潮喷白浆在线观看| 成人久久精品一区二区三区| 伊大人香蕉久久网欧美| 国产精品九九视频| 国产在线一区视频| 99在线观看视频免费| 亚洲热线99精品视频| 国产成人精品三级| 国产在线一区二区视频| 亚洲午夜福利在线| 国产精品免费露脸视频| 久久夜色精品| 国产69精品久久久久妇女| 亚洲中文字幕久久精品无码一区| 国内自拍久第一页| 欧美国产在线看| 国产一区二区三区在线无码| 美女内射视频WWW网站午夜| 五月激激激综合网色播免费| 手机看片1024久久精品你懂的| V一区无码内射国产| 国产精品综合色区在线观看| 波多野结衣在线一区二区| www亚洲精品| 99一级毛片| 欧美精品1区| 国产SUV精品一区二区| 国产成人精品在线1区| 国产在线精品99一区不卡| 视频一区视频二区中文精品| 国产一区二区丝袜高跟鞋| 天天操天天噜| 香蕉99国内自产自拍视频| 伊人国产无码高清视频| 美女亚洲一区| 极品国产在线| 亚洲人成网站在线观看播放不卡| 精品99在线观看| 国产00高中生在线播放| 国产成人综合久久精品尤物| 露脸真实国语乱在线观看| 国产精品hd在线播放| 国内精品视频| 午夜毛片福利| 26uuu国产精品视频| 中文字幕亚洲综久久2021|