不重新整理頁面的情況下調用ASP
來源:互聯網
上載者:User
RS技術的一個具體例子
在前面的文章中,我介紹了RS的基本工作原理,顯然如果將RS技術運用在一個網站的設計中將會有很多非凡的作用(尤其是它的那個最大的優點,可以在不重新整理頁面的情況下調用服務端的代碼)。正是因為這個特點,你就可以象在編寫一個傳統的C/S模式的程式一樣,對資料庫的資料進行處理了(我想大家一定很想知道具體應該如何來實現了,下面將給出一個具體的例子,調試這個破程式幾乎快把我給累死,呵呵。)
從前面的描述可以看到,要使用RS技術就需要用戶端和服務端滿足下面兩個條件:
1。用戶端只需要支援Java applet即可
2。而服務端只需要支援ASP即可
換句話說,就是RS技術是完全獨立與瀏覽器的(當然瀏覽器至少需要滿足支援Java和JavaScript),你可以在IE中使用,也可以完全在NC中使用,這也是區別與RDS技術的一個顯著特點。
在能夠靈活運用RS技術前,先要說明一個問題,就是前面也曾經提到過的“非同步呼叫”的問題。也正是因為有非同步呼叫,才能夠實現你只重新整理頁面的某一部分而不用重新整理整個頁面。
由於它的這個特點,你可以讓服務端來實現在你瀏覽頁面的同時對你輸入資料的合法性檢查(當然這可以是一系列很複雜的合法性檢查,例如需要將使用者輸入的資料和資料庫內已有的資料進行對比等,這個可不是用戶端的JS能夠解決的),然後當服務端返回檢查結果後,你再進行相應的操作(例如彈出一個對話方塊告訴使用者輸入出錯等等).非同步呼叫時的文法如下:
RSExecute(serverURL, functionname, param_list)
第一個參數是你想調用的asp頁面的完整的URL路徑
第二個參數是你想調用函數的名稱
後面的就是該函數需要的輸入參數了
如果你想調用的函數需要兩個輸入參數的話,就是這樣的寫法:
RSExecute(serverURL, functionname, f_arg_1, f_arg_2)
當進行調用時有兩種寫法,
一種是有返回結果的調用方式:
objResult = RSExecute(serverURL, functionname, f_arg_1, f_arg_2);
另外一種則是沒有返回結果的調用方式:
RSExecute(url, func_name, f_arg_1, f_arg_2, CallbackFunction);
這種調用方式要特別的注意,其中的CallbackFunction是用戶端的一個JS函數它表示一但RS執行完畢服務端上的調用,就會馬上調用這個函數,並把結果返回到這個函數中去。