探析B/S結(jié)構(gòu)中Ajax技術(shù)
論文摘要:S結(jié)構(gòu)中Ajax技術(shù)淺析
論文關(guān)鍵詞:結(jié)構(gòu),技術(shù),淺析
Ajax的含意是AsynchronousJavaScriptandXML,代表Ajax具有異步、使用JavaScript及XML等技術(shù)的特性。只要是集成JavaScript、XML、DOM(DocumentObjectModel)和XMLHttpRequest技術(shù)所制作的網(wǎng)頁,都能視為應(yīng)用Ajax概念的動態(tài)網(wǎng)頁。
Ajax的應(yīng)用
目前有越來越多的網(wǎng)站使用Ajax概念,常見的應(yīng)用有在線游戲、改善用戶接口及用戶經(jīng)驗、自動完成拼字列表。GoogleMaps,MicrosoftWindowsLive。
為了讓用戶了解應(yīng)用Ajax概念的動態(tài)網(wǎng)頁和傳統(tǒng)的動態(tài)網(wǎng)頁有什么區(qū)別,先來說明傳統(tǒng)的動態(tài)網(wǎng)頁制作方式。如圖1所示,當(dāng)瀏覽者單擊按鈕、改變下拉列表的選項或任何與Web服務(wù)器互動的操作時就會產(chǎn)生HttpRequest,將整個網(wǎng)頁的內(nèi)容返回Web服務(wù)器,即使此次操作只需要一個字段數(shù)據(jù),瀏覽器仍然會將所有字段數(shù)據(jù)都返回Web服務(wù)器,Web服務(wù)器在收到數(shù)據(jù)時會執(zhí)行指定的操作,然后以HttpResponse的方式將結(jié)果(包括完全沒有變動過的數(shù)據(jù))返回瀏覽器。
圖1表單交到頁面
如圖1所示,有一文本框,用來顯示保存在服務(wù)器的留言內(nèi)容,假設(shè)是保存在文本文件中。
當(dāng)用戶在瀏覽器端要看留言內(nèi)容時會點擊“確定”按鈕,就會把這個請求發(fā)送到服務(wù)器端,服務(wù)器端接收到這個請求后,會作相應(yīng)的處理,然后把結(jié)果下載到瀏覽器端,就是我們看到的圖2的界面。在這個過程中,由兩幅圖可以看出,在點擊“確定“按鈕,這個事件發(fā)生前后變的的內(nèi)容就在于文本框中多了顯示的內(nèi)容,其它內(nèi)容前后都沒發(fā)生變化。這個程序可以由多種技術(shù)實現(xiàn),這里我們主要對比asp與ajax。
圖2B/S工作模式
如果使用服務(wù)器端的動態(tài)技術(shù)如asp.net實現(xiàn)上述要求,則工作過程如上圖2所示。服務(wù)器端接收到請求后,先定義文件流對像,然后通過流對象實現(xiàn)對存放在服務(wù)器端的文本文件進(jìn)行讀取,然后顯示在頁面中的文本框中,在這個過程中頁面的變化只發(fā)生在文本框中的內(nèi)容,本來是沒有的,但是讀取以后會在其中顯示出來,而頁面中的文本框和按鈕,以及還有其它內(nèi)容在這個過程中是沒有發(fā)生變化的,但是“瀏覽器”會把整個內(nèi)容都發(fā)送到“服務(wù)器”端,等服務(wù)器端處理完這個請求后又送回到“瀏覽器”端,表現(xiàn)在網(wǎng)頁上我們會看到頁面有個閃動的過程。當(dāng)然這是頁面內(nèi)容不多的時候,如果內(nèi)容很多,就會出現(xiàn)中間的等待下載過程,頁面上可能什么也不顯示,這樣就會頁面的瀏覽速度,如果頁面中出現(xiàn)的交互很多,很頻繁時,過多的等待會使用戶失去耐心。
處理程序如下所示:
1.在服務(wù)端建立一個文本文件:liuyan.txt,寫下面一句話。
你好,我在試驗。
2.使用ASP.NET制作一個如圖1所示的程序界面,保存為ly.aspx
Inherits="_Default"%>
使用ASP.NET
關(guān)鍵字:通訊