亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Ajax基本原理及其Web應(yīng)用探討

        2008-12-31 00:00:00徐英娟
        電腦知識(shí)與技術(shù) 2008年12期

        摘要:介紹了Ajax的基本原理及其在Web應(yīng)用程序開發(fā)中的優(yōu)勢,探討了在開發(fā)Web應(yīng)用程序過程中如何有效地通過Ajax降低網(wǎng)絡(luò)負(fù)載和改善用戶瀏覽體驗(yàn)等問題,為開發(fā)和研究Web應(yīng)用開辟了新的思路。

        關(guān)鍵詞:Ajax; Web應(yīng)用程序; XML

        中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)12-20ppp-0c

        Ajax Basic Principle and Its Web Application Discussion

        XU Ying-juan

        (College of Computer and Communication project, Weifang University, Weifang 261061, China)

        Abstract: This paper introduced the basic principle of Ajax and its advantage in Web application program development, discussed how to reduce network load and improvement user efficiently in development Web application program based on Ajax, opened up new way to develop and study Web application.

        Key words: Ajax; Web application program; XML

        1 引言

        傳統(tǒng)的Web應(yīng)用程序是基于觸發(fā)的事件驅(qū)動(dòng)模式。詳細(xì)地說,用戶在請求服務(wù)器端的數(shù)據(jù)時(shí)必須通過在瀏覽器端窗體上定制用戶請求信息并提交給服務(wù)器,服務(wù)器端接收到用戶請求信息后觸發(fā)相應(yīng)的事件來處理該信息并將結(jié)果回傳給客戶端瀏覽器。這種事件驅(qū)動(dòng)模式處理Web數(shù)據(jù)請求的能力是非常強(qiáng)大的,但是也存在一定的問題,那就是客戶端往往不能即時(shí)得到服務(wù)器的響應(yīng),因此也經(jīng)常無法給用戶提供良好的瀏覽體驗(yàn),成為制約Web應(yīng)用軟件開發(fā)的瓶頸。因此,關(guān)于頁面的載入技術(shù)的研究也就成為Web應(yīng)用程序設(shè)計(jì)的關(guān)鍵,然而這種狀況一直沒能徹底改變,直到Ajax技術(shù)的出現(xiàn)。AJAX提供與服務(wù)器異步通信的能力,幾乎可以在用戶沒有覺察的情況下更新或者查詢數(shù)據(jù),同時(shí)服務(wù)器返回的數(shù)據(jù)通過AJAX更新用戶界面(而不是刷新整個(gè)Web頁面),這樣不僅提高了服務(wù)器的響應(yīng)靈敏度,同時(shí)也大大提升了用戶體驗(yàn)。

        2 Ajax的工作原理

        Ajax是Asynchronous JavaScript And XML(異步JavaScript 和 XML)英文單詞的縮寫。它由一組蓬勃發(fā)展的技術(shù)組合而成,其核心技術(shù)是JavaScript、Document Object Model(簡稱DOM)、XMLHttpRequest和XML。AJAX的工作原理相當(dāng)于在客戶端和服務(wù)器之間加了一個(gè)中間層,即Ajax引擎[1]。這樣,并不是所有的用戶請求都提交給服務(wù)器,一些數(shù)據(jù)的驗(yàn)證和處理由Ajax自己來做,只有確實(shí)需要從服務(wù)器讀取新數(shù)據(jù)時(shí),才由客戶端通過JavaScript調(diào)用Ajax引擎向服務(wù)器端發(fā)出Http請求,但它并不等待請求的響應(yīng),用戶可以繼續(xù)瀏覽或交互。當(dāng)服務(wù)端的數(shù)據(jù)以XML形式返回時(shí),Ajax引擎接收數(shù)據(jù),并指定JavaScript函數(shù)來完成相應(yīng)的處理或頁面的更新,而不是刷新整個(gè)頁面,—個(gè)中間層服務(wù)器程序,使用戶操作與服務(wù)器響應(yīng)異步化。這樣就減輕了服務(wù)器的負(fù)擔(dān),提升了服務(wù)器的響應(yīng)靈敏性,給用戶良好的瀏覽體驗(yàn)。Ajax的基本工作原理如圖1所示。

        3 Ajax的優(yōu)點(diǎn)

        作為一種新的應(yīng)用程序技術(shù),Ajax具有如下優(yōu)點(diǎn):按需取數(shù)據(jù)從而減輕服務(wù)器的負(fù)擔(dān);無刷新更新頁面,減少用戶心理和實(shí)際的等待時(shí)間,帶來更好的用戶體驗(yàn);較少的服務(wù)器端事件,可以把一些傳統(tǒng)方式下由服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)移到客戶端,利用客戶端閑置的能力來處理數(shù)據(jù),從而充分利用資源;可調(diào)用外部數(shù)據(jù);基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù)[2],不需要下載插件或者小程序;進(jìn)一步促進(jìn)頁面呈現(xiàn)和數(shù)據(jù)的分離。

        4 利用Ajax從Web頁中返回?cái)?shù)據(jù)

        對于簡單數(shù)據(jù),可以通過XMLHTTPRequest對象的open方法將需要請求的Web頁的絕對路徑作為參數(shù),該路徑后面可能連接有關(guān)的Get方法調(diào)用的數(shù)據(jù)。當(dāng)調(diào)用成功返回后從該對象的responseText屬性中將返回的單個(gè)數(shù)據(jù)提取出來。被請求的Web頁中首先生成要返回的數(shù)據(jù),這可以通過使用任何基于.NET Framework技術(shù)如繼承等來實(shí)現(xiàn);然后可以選擇以下兩種方式將數(shù)據(jù)返回到客戶端:(1)在該頁的load事件的處理方法中利用Response.Write()方法實(shí)現(xiàn)將數(shù)據(jù)返回;(2)利用render方法中的HtmlTextWriter對象Write方法返回。從而在瀏覽器端Web頁中便實(shí)現(xiàn)簡單數(shù)據(jù)的返回。

        同樣,用戶可以利用客戶端瀏覽器向服務(wù)器請求一些較為復(fù)雜的數(shù)據(jù),例如數(shù)據(jù)表、結(jié)構(gòu)體甚至業(yè)務(wù)對象等。只要服務(wù)器端將此類復(fù)雜數(shù)據(jù)序列化為XML格式數(shù)據(jù),我們便可以通過在客戶端XMLHTTPRequest對象的responseXML屬性返回一個(gè)XMLDOC對象,此對象能夠處理XML并將結(jié)果展示在客戶端瀏覽器[3]。下列代碼顯示了如何將CLR用戶定義類型序列化為XML格式并將其放入XML元素:

        Sqlstring s=new sqlstring(\"0:0\");

        udtclientApp.point pnt=point.parse(s);

        System.IO.memorystream writer=new system.IO.Memorystream();

        System.xml.serialization.xmlserializer

        serializer=new system.xml.serialization.xmlserializer(typeof(udtclientapp.point));

        Serializer.serialize(writer,pnt);

        Writer.seek(0,system.io.seekorigin.begin);

        System.xml.xmldocument xmldoc=new system.xml.xmldocument();

        Xmldoc.load(writer);

        System.xml.xmlelement udtxml=xmldoc.documentelement;

        以下代碼是如何將XML反序列化回CLR用戶自定義類型。代碼如下:

        Textreader reader=new string reader(udtxml.outerxml);

        Pnt=(udtclientapp.point) serializer.deserialize(reader);

        5 結(jié)束語

        本文通過對Ajax的原理的分析提出如何有效的降低網(wǎng)絡(luò)負(fù)載、改善用戶體驗(yàn)等存在的問題。Ajax還很年輕,其本身還有許多的不足有待改進(jìn)。隨著Ajax應(yīng)用的普及, 更多Web開發(fā)人員參與到Ajax框架的研究當(dāng)中,相信不遠(yuǎn)的將來,Ajax必將成為Web開發(fā)中必不可少的一員。

        參考文獻(xiàn):

        [1] 游麗貞,等. Ajax引擎的原理和應(yīng)用[J]. 微計(jì)算機(jī)信息,2006,(22):2-3.

        [2] 楊國瑞, 張思博. 基于AJAX的Web應(yīng)用架構(gòu)設(shè)計(jì)[J]. 現(xiàn)代電子技術(shù),2006,(15):24-26.

        [3] 扎卡斯, 姆克皮克, 福西特. Ajax高級程序設(shè)計(jì)[M]. 北京:人民郵電出版社,2006:198-200.

        收稿日期:2008-03-11

        作者簡介:徐英娟(1980-),女,山東昌邑人,助教,碩士,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。

        国产成人av一区二区三区不卡| 亚洲色偷偷偷综合网另类小说| 蜜桃精品国产一区二区三区| 中文字幕有码人妻在线| 国产在线精品一区二区中文| 亚洲一区二区观看播放| av手机在线天堂网| 久久精见国产亚洲av高清热| av无码小缝喷白浆在线观看| 亚洲国产无套无码av电影| 国产精品久久久久孕妇| 久久久精品人妻一区二区三区免费| 中文字幕一区二区三区视频| 天堂国精产品2023年| 中文字幕在线久热精品| 国内偷拍第一视频第一视频区| 少妇高潮太爽了在线看| 无码国产精品一区二区免费模式 | 精品久久综合亚洲伊人| 男女在线免费视频网站| 日本av一级片免费看| 三年片大全在线观看免费观看大全 | 国产精品无码一区二区在线观一 | 亚洲av乱码一区二区三区观影 | 亚洲熟妇无码av另类vr影视| 91免费国产| 一本色道久在线综合色| 窝窝午夜看片| 日韩免费小视频| 一区欧美在线动漫| 福利视频偷拍一区二区| 婷婷射精av这里只有精品| 亚洲国产成人久久综合一区77| 国产一区二区三区资源在线观看 | 国产极品嫩模大尺度在线播放| 黄片视频免费在线观看国产| 国精品无码一区二区三区在线| 国产亚洲AV天天夜夜无码| 人妻在线有码中文字幕| 婷婷久久香蕉五月综合加勒比| 91日韩高清在线观看播放|