我們正在一個專案中作業,我們正在設計動作腳本 3.0 中的 GUI。
登錄螢屏將與 opensso 服務器進行 http 呼叫以進行身份??驗證,如果登錄失敗,則應顯示錯誤彈出視窗。
現在的問題是,有時身份驗證需要很長時間,最終用戶不知道情況。所以他再次點擊登錄按鈕。所以客戶端想要另一個彈出視窗,它應該只顯示等待,直到服務器發送登錄回應。
這是我們的 ssoAuthenticate 方法 -
private function ssoAuthenticate():void
{
var loaderUrl:String = FlexGlobals.topLevelApplication.loaderInfo.url;
var myLoadBaseUrl:LoadBaseUrl = new LoadBaseUrl();
var ssoBaseUrl:String = myLoadBaseUrl.getSSOUrl();
var url:String = ssoBaseUrl.concat("opensso/json/authenticate");
var srv:HTTPService = new HTTPService();
srv.url = url;
srv.method = "POST";
srv.contentType = "application/json";
srv.headers ={
"X-OpenAM-Username": userName,
"X-OpenAM-Password": password,
"Content-Type": "application/json"
}
var data:Object = new Object();
srv.resultFormat = "e4x";
srv.addEventListener(ResultEvent.RESULT, authenticateSuccess);
srv.addEventListener(FaultEvent.FAULT, authenticateFailed);
srv.send("{}");
}
我們怎樣才能做到這一點?我們如何在這段代碼中引入另一個 WAIT 彈出視窗?每當事件ResultEvent.RESULT從服務器回傳時,該彈出視窗應該消失。
任何指標將不勝感激。謝謝
uj5u.com熱心網友回復:
當您的用戶單擊登錄按鈕呼叫login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate)直到ResultEvent.RESULT從您的服務器回傳時,也為了更好的用戶體驗,您可以顯示加載程式影片剪輯或進度對話框,如
https://docs.airnativeextensions.com/docs/dialog/progress -對話
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/417768.html
標籤:
上一篇:嘗試通過Websocket將壓縮的base64編碼字串從JS發送到AS3。解壓問題
下一篇:IOError:在Ctrl C后使用multiprocessing.Pool和multiprocessing.Manager損壞管道
