資源描述:
《不刷新頁(yè)面的情況下調(diào)用asp》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、不刷新頁(yè)面的情況下調(diào)用ASP>>教育資源庫(kù)RS技術(shù)的一個(gè)具體例子在前面的帖子中,我介紹了RS的基本工作原理,顯然如果將RS技術(shù)運(yùn)用在一個(gè)網(wǎng)站的設(shè)計(jì)中將會(huì)有很多非凡的作用(尤其是它的那個(gè)最大的優(yōu)點(diǎn),可以在不刷新頁(yè)面的情況下調(diào)用服務(wù)端的代碼)。正是因?yàn)檫@個(gè)特點(diǎn),你就可以象在編寫(xiě)一個(gè)傳統(tǒng)的C/S模式的程序一樣,對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行處理了(我想大家一定很想知道具體應(yīng)該如何來(lái)實(shí)現(xiàn)了,下面將給出一個(gè)具體的例子,調(diào)試這個(gè)破程序幾乎快把我給累死,呵呵。)從前面的描述可以看到,要使用RS技術(shù)就需要客戶端和服務(wù)端滿足下面兩個(gè)條件:1??蛻舳酥恍枰?/p>
2、支持Javaapplet即可2。而服務(wù)端只需要支持ASP即可換句話說(shuō),就是RS技術(shù)是完全獨(dú)立與瀏覽器的(當(dāng)然瀏覽器至少需要滿足支持Java和JavaScript),你可以在IE中使用,也可以完全在NC中使用,這也是區(qū)別與RDS技術(shù)的一個(gè)顯著特點(diǎn)。在能夠靈活運(yùn)用RS技術(shù)前,先要說(shuō)明一個(gè)問(wèn)題,就是前面也曾經(jīng)提到過(guò)的“異步調(diào)用”的問(wèn)題。也正是因?yàn)橛挟惒秸{(diào)用,才能夠?qū)崿F(xiàn)你只刷新頁(yè)面的某一部分而不用刷新整個(gè)頁(yè)面。由于它的這個(gè)特點(diǎn),你可以讓服務(wù)端來(lái)實(shí)現(xiàn)在你瀏覽頁(yè)面的同時(shí)對(duì)你輸入數(shù)據(jù)的合法性檢查(當(dāng)然這可以是一系列很復(fù)雜的合法性檢查,例如
3、需要將用戶輸入的數(shù)據(jù)和數(shù)據(jù)庫(kù)內(nèi)已有的數(shù)據(jù)進(jìn)行對(duì)比等,這個(gè)可不是客戶端的JS能夠解決的),然后當(dāng)服務(wù)端返回檢查結(jié)果后,你再進(jìn)行相應(yīng)的操作(例如彈出一個(gè)對(duì)話框告訴用戶輸入出錯(cuò)等等).異步調(diào)用時(shí)的語(yǔ)法如下:RSExecute(serverURL,functionname,param_list)第一個(gè)參數(shù)是你想調(diào)用的asp頁(yè)面的完整的URL路徑第二個(gè)參數(shù)是你想調(diào)用函數(shù)的名稱后面的就是該函數(shù)需要的輸入?yún)?shù)了如果你想調(diào)用的函數(shù)需要兩個(gè)輸入?yún)?shù)的話,就是這樣的寫(xiě)法:RSExecute(serverURL,functionname,f_ar
4、g_1,f_arg_2)當(dāng)進(jìn)行調(diào)用時(shí)有兩種寫(xiě)法,一種是有返回結(jié)果的調(diào)用方式:objResult=RSExecute(serverURL,functionname,f_arg_1,f_arg_2);另外一種則是沒(méi)有返回結(jié)果的調(diào)用方式:RSExecute(url,func_name,f_arg_1,f_arg_2,CallbackFunction);這種調(diào)用方式要特別的注意,其中的CallbackFunction是客戶端的一個(gè)JS函數(shù)它表示一但RS執(zhí)行完畢服務(wù)端上的調(diào)用,就會(huì)馬上調(diào)用這個(gè)函數(shù),并把結(jié)果返回到這個(gè)函數(shù)中去。一個(gè)典型
5、的CallbackFunction函數(shù)應(yīng)該是這樣的結(jié)構(gòu):functionCallbackFunction(objResult){//你自己的處理過(guò)程}其中唯一的輸入?yún)?shù)objResult就是RS調(diào)用的返回值.下面我們假設(shè)這樣一種情況:用戶在瀏覽器中輸入了用戶的e-mail地址,然后用戶離開(kāi)了e-mail地址輸入框進(jìn)入接下來(lái)的輸入過(guò)程,這個(gè)時(shí)候就是RS該上場(chǎng)了,它根據(jù)用戶輸入的地址在服務(wù)端的數(shù)據(jù)庫(kù)中查詢這個(gè)地址,就可以判斷出這個(gè)用戶是否已經(jīng)存在,然后把結(jié)果返回給客戶端,在客戶端再使用DHTML技術(shù)在一個(gè)叫Shoe,f_arg_
6、1,CallbackFunc,Sho中分為兩禎,在main.html頁(yè)面中使用了RS技術(shù),大家可以注意到在main.html中沒(méi)有使用到submit所以如果你在該頁(yè)面中直接敲回車(chē)鍵的話什么都不會(huì)出現(xiàn),你必須通過(guò)鼠標(biāo)單擊那個(gè)獲取信息按扭來(lái)使用這個(gè)局部頁(yè)面刷新技術(shù)。在單擊完該按扭后,頁(yè)面會(huì)有一段小小的延遲(這段時(shí)間內(nèi)javaapplet在后臺(tái)建立了和服務(wù)端的連接)然后馬上頁(yè)面回復(fù)正常的鼠標(biāo),你可以在該頁(yè)面中繼續(xù)進(jìn)行其他的操作。而不必象普通頁(yè)面刷新時(shí),你只有等待數(shù)據(jù)。而info.asp大家一眼就能夠看明白,其實(shí)就是一個(gè)很簡(jiǎn)單的處理
7、字符串的程序。如果大家要是對(duì)DHTML技術(shù)熟悉的話,完全可以在客戶端完成這些操作。至于EmpData.asp就是服務(wù)端處理數(shù)據(jù)的程序了。好了,其中的好處大家可以自己去體會(huì)。特別注意,不要改變太多代碼,不然很容易出錯(cuò),畢竟是在使用JavaScript編程.Default.htm文件代碼如下:<HTML><HEAD><TITLE>RS技術(shù)的實(shí)現(xiàn)例子</TITLE></HEAD><FRAMESETid=fsetrows=70%,30%>&12下一頁(yè)>>>>這篇
8、文章來(lái)自..,。nbsp;<FRAMEname=mainsrc=main.html><FRAMEname=infosrc=info.asp></FRAMESET></HTML>上一頁(yè)12>>>>這篇文章來(lái)自..,。