authentication - Actionscript 3.0:如何在主窗口和弹出窗口之间进行通信,直到主窗口获得服务器登录响应
问题描述
我们正在一个项目中工作,我们正在设计动作脚本 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从服务器返回时,该弹出窗口应该消失。
任何指针将不胜感激。谢谢
解决方案
当您的用户单击登录按钮调用login.removeEventListerner(MouseEvent.CLICK,ssoAuthenticate)
直到ResultEvent.RESULT从您的服务器返回时,也为了更好的用户体验,您可以显示加载程序影片剪辑或进度对话框,如
https://docs.airnativeextensions.com/docs/dialog/progress -对话
推荐阅读
- vue.js - 如何为 vue.js 中的元素动态添加属性?
- angular6 - Materializecss下拉初始化错误与角度6
- python-3.x - 返回数据框值不同的列
- c++ - 将 'function 作为 'function' 的 'this' 参数传递会丢弃限定符 [-fpermissive]
- android - Android Things RC522(Galarzaa90 库)
- python - Django 编辑表单创建新实例
- linux - 交叉编译 Qt5.10.1 树莓派 B+ 拉伸
- ios - 当我的应用程序处于“准备提交”状态时,我可以在 App Store Connect 中向应用程序添加测试人员吗?
- c# - 如何使用 EPPlus 正确检查单元格的背景颜色?
- prolog - 家庭序言练习