remote script文檔(轉(zhuǎn)載自微軟)(五)
文檔: 調(diào)用 Remote Scripting 方法同步
在對某個客戶頁和某個服務(wù)器頁上的 remote scripting 進行配置后,您就可以從自己的客戶腳本調(diào)用該服務(wù)器頁的方法了。缺省的情況是,當用戶調(diào)用某個服務(wù)器方法時,它被同步執(zhí)行──您的客戶腳本直到服務(wù)器方法執(zhí)行完畢并返回結(jié)果后才能停止運行。一般說來,當您在自己的客戶腳本中需要服務(wù)器方法結(jié)果時,則需同步調(diào)用服務(wù)器方法。
注意 您也可以異步調(diào)用服務(wù)器方法。有關(guān)詳細信息,請參閱異步調(diào)用 Remote Scripting 方法。
當您調(diào)用某個服務(wù)器方法時,該方法并不返回單個值。而是創(chuàng)建一個 call object ,它是一個包含了被調(diào)用過程的返回和狀態(tài)信息的對象。最常用的屬性是調(diào)用對象的 return_value 屬性,它包含了遠程過程計算或者檢查出來的單個值。其他調(diào)用對象屬性使得用戶可以得到更多關(guān)于遠程過程調(diào)用的狀態(tài)信息。
如果您已經(jīng)創(chuàng)建了對某個服務(wù)器頁的對象引用,那么可以用標準 object.method 語法來調(diào)用方法。有關(guān)創(chuàng)建對象引用的詳細信息,請參閱作為對象引用 ASP 頁。另外,您也可以在沒有任何對象引用時調(diào)用 remote scripting 方法。這樣做比起使用 object.method 語法來要略微冗余些,但不需要用戶首先創(chuàng)建對象引用。
同步調(diào)用服務(wù)器方法
如果用戶創(chuàng)建了對服務(wù)器頁的對象引用,那么對于使用 javascript 的調(diào)用,可用第一個語法示例,而對于使用 VBScript 的調(diào)用,可用第二種語法示例:
javascript:
callObject = ASPObject.methodName(p1, p2[,...])
vbscript:
set callObject = ASPObject.methodName(p1, p2[,...])
- 或者 -
如果用戶沒有創(chuàng)建對象引用,調(diào)用 RSExecute 函數(shù)。對于使用 javascript 的調(diào)用,使用第一個語法示例,而對于使用 VBScript 的調(diào)用,使用第二種語法示例:
javascript:
callobject = RSExecute(url, methodName, p1, p2[,...])
vbscript:
set callobject = RSExecute(url, methodName, p1, p2[,...])
其中:
callObject 在 remote scripting 調(diào)用完成后,將被實例化的調(diào)用對象名。您無需在調(diào)用 remote script 之前創(chuàng)建該對象;遠程腳本調(diào)用為您創(chuàng)建之。
ASPObject 您在早期使用 RSGetASPObject 方法可選擇地創(chuàng)建的對象引用。有關(guān)詳細信息,請參閱作為對象引用 ASP 頁。
url 包含您想要執(zhí)行的遠程腳本的 ASP 頁的 URL。必須已將服務(wù)器頁配置為使得服務(wù)器頁中的 Remote Scripting 有效中所描述的那樣。服務(wù)器頁必須在用戶從中請求當前客戶頁的服務(wù)器上。
methodName 您想要執(zhí)行的服務(wù)器頁上的方法名。
p1, p2, ... methodName中的方法所需要的任何參數(shù)。 參數(shù)是通過值來傳遞的。用戶可以傳遞簡單的數(shù)據(jù)類型,比如數(shù)值或者文本值,但不能傳遞結(jié)構(gòu)化數(shù)據(jù),比如數(shù)組或者對象。
注意 當把參數(shù)從客戶傳遞給服務(wù)器時,它們被轉(zhuǎn)換為字符串。要確保您的服務(wù)器方法在使用參數(shù)時,將之轉(zhuǎn)換為合適的數(shù)據(jù)類型。有關(guān)詳細問題,請參閱使得服務(wù)器頁中的 Remote Scripting 有效。
例如,下面按鈕 btnAdd 的客戶腳本 onclick 處理程序調(diào)用服務(wù)器方法 add 來累加兩個數(shù)值。調(diào)用 remote scripting 方法 會創(chuàng)建一個名為 co 的調(diào)用對象。remote scripting 調(diào)用的結(jié)果從調(diào)用對象的 return_value 屬性中提取出來,并作為名為 txt3 的文本框值顯示出來。
<SCRIPT LANGUAGE="javascript" for="btnAdd" event="onclick">
rsMath = RSGetASPObject("../myPages/RSMath.asp")
number1 = txt1.value;
number2 = txt2.value;
co = rsMath.Add(number1,number2);
txt3.value = "The sum is " + co.return_value;
</SCRIPT>
在無對象引用情況下所產(chǎn)生的同樣調(diào)用(用 RSExecute )可能如下所示:
<SCRIPT LANGUAGE="javascript" for="btnAdd" event="onclick">
number1 = txt1.value;
number2 = txt2.value;
co = RSExecute("RSmath.asp","add",number1,number2);
txt3.value = "The sum is " + co.return_value;
</SCRIPT>
有關(guān)在產(chǎn)生 remote scripting 調(diào)用時,如何檢查錯誤的詳細信息,請參閱檢查錯誤。
相關(guān)文章
remote script文檔(轉(zhuǎn)載自微軟)(九)
remote script文檔(轉(zhuǎn)載自微軟)(九)...2007-03-03remote script文檔(轉(zhuǎn)載自微軟)(四)
remote script文檔(轉(zhuǎn)載自微軟)(四)...2007-03-03remote script文檔(轉(zhuǎn)載自微軟)(五)
這篇文章主要介紹了remote script文檔的相關(guān)資料,需要的朋友可以參考下2007-03-03remote script文檔(轉(zhuǎn)載自微軟)(七)
remote script文檔(轉(zhuǎn)載自微軟)(七)...2007-03-03remote script文檔[轉(zhuǎn)載自微軟](二)
remote script文檔[轉(zhuǎn)載自微軟](二)...2007-03-03remote script文檔(轉(zhuǎn)載自微軟)(八)
remote script文檔(轉(zhuǎn)載自微軟)(八)...2007-03-03不錯的remote script文檔(轉(zhuǎn)載自微軟)(三)
不錯的remote script文檔(轉(zhuǎn)載自微軟)(三)...2007-03-03remote script文檔(轉(zhuǎn)載自微軟)(一)
remote script文檔(轉(zhuǎn)載自微軟)(一)...2007-03-03remote script文檔(轉(zhuǎn)載自微軟)(六)
remote script文檔(轉(zhuǎn)載自微軟)(六)...2007-03-03