Actionscript 3.0:如何在 main window 和 popup window 之间进行通信,直到 main window 获得服务器登录响应
Actionscript 3.0: How to communicate between main window and popup window untill main window gets server login response
我们正在一个项目中工作,我们正在使用 action script 3.0 设计 GUI。
登录屏幕将与 opensso 服务器进行 http 调用以进行身份验证,如果登录失败,应显示错误弹出窗口 window。
现在的问题是,有时认证需要很长时间,最终用户并不知道这种情况。所以他再次单击 LOGIN 按钮。所以客户端想要另一个弹出窗口 window 应该只显示 WAIT 直到服务器发送登录响应。
这是我们的 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 从服务器返回时,弹出 window 应该消失。
任何指针将不胜感激。
谢谢
当您的用户单击登录按钮时调用 login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate)
直到 ResultEvent.RESULT 从您的服务器返回
同样为了获得更好的用户体验,您可以像这样显示加载器动画片段或进度对话框
https://docs.airnativeextensions.com/docs/dialog/progress-dialog
我们正在一个项目中工作,我们正在使用 action script 3.0 设计 GUI。
登录屏幕将与 opensso 服务器进行 http 调用以进行身份验证,如果登录失败,应显示错误弹出窗口 window。
现在的问题是,有时认证需要很长时间,最终用户并不知道这种情况。所以他再次单击 LOGIN 按钮。所以客户端想要另一个弹出窗口 window 应该只显示 WAIT 直到服务器发送登录响应。
这是我们的 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 从服务器返回时,弹出 window 应该消失。
任何指针将不胜感激。 谢谢
当您的用户单击登录按钮时调用 login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate)
直到 ResultEvent.RESULT 从您的服务器返回
同样为了获得更好的用户体验,您可以像这样显示加载器动画片段或进度对话框
https://docs.airnativeextensions.com/docs/dialog/progress-dialog