主頁 > 知識庫 > remote script文檔(轉(zhuǎn)載自微軟)(六)

remote script文檔(轉(zhuǎn)載自微軟)(六)

熱門標簽:樂昌電話機器人 北京語音電銷機器人價格 電話機器人電話卡封號怎么辦 浦東上海400開頭的電話申請 開封百應(yīng)電銷機器人聯(lián)系方式 買了外呼系統(tǒng)不想用了怎么辦 武漢呼叫中心外呼系統(tǒng)線路商 邯鄲外呼調(diào)研線路 真人語音電銷機器人系統(tǒng)
文檔: 調(diào)用 Remote Scripting 方法異步

Remote scripting 向您提供了異步調(diào)用服務(wù)器方法的選擇 ──當執(zhí)行服務(wù)器方法時,用戶的客戶腳本繼續(xù)運行。異步調(diào)用 remote scripting 方法使得您可以避免應(yīng)用程序用戶接口速度的減慢,因為您可以在執(zhí)行服務(wù)器腳本的同時繼續(xù)工作。

注意 如果您的應(yīng)用程序需要,那么也可以同步調(diào)用服務(wù)器方法。有關(guān)詳細信息,請參閱同步調(diào)用 Remote Scripting 方法。

異步調(diào)用某個 remote script 類似于同步調(diào)用。不過,當產(chǎn)生調(diào)用時,您要指定多至三個附加參數(shù): 

當服務(wù)器方法完成處理時,在用戶的客戶腳本中有一個被調(diào)用的 javascript callback function 。例如,如果用戶的 remote scripting 方法執(zhí)行一次數(shù)據(jù)庫檢查,那么回調(diào)函數(shù)可能得到遠程調(diào)用返回的檢查值,并在頁面上的某個控件中顯示之。


一個可選的 javascript 錯誤回調(diào)函數(shù)──如果異步調(diào)用時遇到錯誤將調(diào)用之。


一個可選的上下文參數(shù)。這是用戶傳遞給方法并在以后傳回用戶的數(shù)據(jù)。它典型地用于幫助您決定在自己的回調(diào)函數(shù)中正調(diào)用什么方法,例如,如果您正在將所有遠程腳本調(diào)用回傳給某個回調(diào)函數(shù)。 
類似于同步調(diào)用,異步調(diào)用將創(chuàng)建一個調(diào)用對象,該對象支持包含被調(diào)用過程的返回值和狀態(tài)信息的屬性。例如,某個 remote scripting 方法的返回值可在調(diào)用對象的 return_value 屬性中獲得。在異步調(diào)用時,調(diào)用對象 status 屬性向用戶提供關(guān)于調(diào)用狀態(tài)的信息。

當您產(chǎn)生異步調(diào)用時,調(diào)用對象作為一個參數(shù)傳遞到回調(diào)函數(shù)中。這樣您就可以在調(diào)用腳本中對其進行測試(例如,決定呼叫的狀態(tài)),或者在回調(diào)函數(shù)中測試(例如,獲得方法的返回值)。

如果您已經(jīng)創(chuàng)建了對某個服務(wù)器頁的對象引用,那么您就可以用標準的 object.method 語法來調(diào)用方法。有關(guān)創(chuàng)建對象引用的詳細信息,請參閱作為對象引用 ASP 頁。

如何異步調(diào)用服務(wù)器方法 

如果用戶已經(jīng)創(chuàng)建了對服務(wù)器頁的對象引用,那么可以用下面的語法。由于您必須傳遞回調(diào)函數(shù)的函數(shù)指針,因此對于異步方法調(diào)用來說,您必須用 javascript。
callObject = ASPObject. methodName(p1, p2[,...],
callbackFunction, errorCallbackFunction, context)


- 或者 - 

如果您尚未創(chuàng)建對象引用,那么可以調(diào)用 RSExecute 函數(shù),所用語法如下:
callobject = RSExecute(url, methodName, p1, p2[,...], 
callbackFunction, errorCallbackFunction, context)


其中: 

ASPObject 您先前用 RSGetASPObject 方法創(chuàng)建的對象引用。有關(guān)詳細信息,請參閱作為對象引用 ASP 頁。


callObject 在完成 remote scripting 調(diào)用時將被實例化的調(diào)用對象名。您無需創(chuàng)建在調(diào)用 remote script 之前創(chuàng)建該對象;RSExecute 方法為您創(chuàng)建該對象。


url 包含您想要執(zhí)行的遠程腳本的 ASP 頁的 URL。服務(wù)器頁必須已被配置為使得服務(wù)器頁中的 Remote Scripting 有效中所描述的那樣。服務(wù)器頁必須在用戶從中請求當前客戶頁的服務(wù)器上。


methodName 您想要執(zhí)行的服務(wù)器頁上的方法名。


p1, p2, ... methodName 中方法所需要的任何參數(shù)。參數(shù)是通過值進行傳遞的。您可以傳遞簡單的數(shù)據(jù)類型,比如數(shù)值或者文本值,但不能傳遞數(shù)組或者對象。
注意 當把參數(shù)從客戶傳遞給服務(wù)器時,它們被轉(zhuǎn)換為字符串。要確保在使用這些參數(shù)值時,您的服務(wù)器方法將它們轉(zhuǎn)換為合適的數(shù)據(jù)類型。有關(guān)詳細信息,請參閱使得服務(wù)器頁中的 Remote Scripting 有效。 

callbackFunction 您的客戶腳本中 javascript 函數(shù)的函數(shù)指針,當完成對 remote scripting 方法的調(diào)用時將調(diào)用該函數(shù)。由于用戶正在傳遞的是一個指針,因此不要在引號中包括其名字。在 RSExecute 調(diào)用中包括回調(diào)函數(shù)名意味著您想要異步執(zhí)行 remote scripting 方法。


errorCallbackFunction 用戶的客戶腳本中某個可選 javascript 函數(shù)的函數(shù)指針,如果 remote scripting 方法遇到一個錯誤,將調(diào)用該函數(shù)。由于您所傳遞的是一個指針,因此不要在引號中包括其名。關(guān)于 remote scripting 中錯誤的詳細信息,請參閱檢查錯誤。


context 您傳遞給 remote scripting 方法并回傳給您的一個可選值。您可以在自己的回調(diào)函數(shù)中用自己覺得有用的任意方式使用該值。 
例如,下面按鈕 btnSquare 的客戶腳本 onclick 處理程序調(diào)用服務(wù)器方法 square 來對文本框 txt1 中的指定數(shù)值進行平方運算。當執(zhí)行了該方法后,它調(diào)用函數(shù) showResults 。操作符名(“求平方”)在上下文參數(shù)中進行傳遞。

SCRIPT LANGUAGE="javascript" for="btnSquare" event="onclick">
rsMath = RSGetASPObject("../myPages/RSMath.asp")
number1 = txt1.value;
context = "squaring";
co = rsmath.square(number1,showResults,context);
/SCRIPT>


使用 RSExecute 而不用對象引用的同樣示例如下所示:

SCRIPT LANGUAGE="javascript" for="btnSquare" event="onclick">
number1 = txt1.value;
context = "squaring";
co = RSExecute("RSmath.asp","square",number1,showResults,context);
/SCRIPT>


函數(shù) showResults 是先前示例的回調(diào)函數(shù),可能如下所示:

SCRIPT LANGUAGE="javascript">
function showResults(co){
typeOp = co.context;
rValue = co.return_value;
txt2.value = "Result of " + typeOp + " operation = " + rValue;
}
SCRIPT>


在這種情況下,showResults 函數(shù)可被用作一般意義上的回調(diào)函數(shù),以顯示任何運算值。該函數(shù)指明用戶可能如何使用調(diào)用對象的 context 屬性(當調(diào)用 remote scripting 函數(shù)時對之進行初始化),以便于決定如何調(diào)用回調(diào)函數(shù)。

測試異步調(diào)用
用戶可以對某個遠程調(diào)用的狀態(tài)進行測試,以便于搞清調(diào)用是否成功。如果用戶已經(jīng)進行了異步調(diào)用,那么用戶可以測試是否已完成調(diào)用。

如何測試某個遠程調(diào)用的狀態(tài) 

在調(diào)用腳本中,獲得調(diào)用對象的 status 屬性值,它可以包含下列值中的任一個: 
值 描述 
-1 失敗 
0 完成 
1 掛起(僅在異步調(diào)用過程中有效)。 


下面的示例顯示了同步調(diào)用某個叫做 square 的 remote scripting 方法,然后在頁面上的某個文本框中顯示調(diào)用狀態(tài)的客戶腳本。

SCRIPT LANGUAGE="javascript" for="btnSquare" event="onclick">
number1 = txt1.value;
context = "squaring";
co = RSExecute("RSmath.asp","square",number1);
if (co.status == -1)
{txt2.value = "Call failed";}
else 
{txt2.value = "Call succeeded, return value = " + co.return_value;} }
/SCRIPT>


關(guān)于錯誤的詳細信息,請參閱檢查錯誤。


控制異步調(diào)用
進行異步調(diào)用時,可用兩種方式來控制它: 

等待調(diào)用完成。這將掛起客戶腳本處理,直到完成 remote scripting 調(diào)用,有效地將異步調(diào)用轉(zhuǎn)換為同步調(diào)用。如果您在自己的客戶腳本中到了異步調(diào)用提供所需信息的階段,那么就可這樣做。為了等待,可以調(diào)用調(diào)用對象的等待方法。


取消調(diào)用,若要這樣做,可以調(diào)用調(diào)用對象的取消方法。

標簽:宜春 河北 松原 石嘴山 六安 鄂州 淄博 自貢

巨人網(wǎng)絡(luò)通訊聲明:本文標題《remote script文檔(轉(zhuǎn)載自微軟)(六)》,本文關(guān)鍵詞  remote,script,文檔,轉(zhuǎn)載,自,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《remote script文檔(轉(zhuǎn)載自微軟)(六)》相關(guān)的同類信息!
  • 本頁收集關(guān)于remote script文檔(轉(zhuǎn)載自微軟)(六)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章