【问题标题】:Flash sandbox not enabling me getting JSON data from server - AS3Flash 沙箱无法让我从服务器获取 JSON 数据 - AS3
【发布时间】:2015-12-03 07:39:29
【问题描述】:

我正在设置一个本地 SWF 文件,它必须以一些动态文本显示从远程 Web 服务器检索到的一些 JSON 数据字段。 代码:

Security.allowDomain("api.yourserver.com");

var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://api.yourserver.com/yourendpoint");
request.method = URLRequestMethod.GET;
request.contentType = "application/json";

loader.load(request);
loader.addEventListener(Event.COMPLETE, decodeJSON);

function decodeJSON(event:Event):void{
var loader:URLLoader = URLLoader(event.target);
var Info:Object = JSON.parse(loader.data);
cont.textfield1.text = Info.text.field1;
cont.textfield2.text = Info.text.field2;
cont.textfield3.text = Info.text.field3;
}

控制 > 测试 - 它有效。独立运行时不会。我收到 2028 错误(违反沙盒)。

我尝试了什么:

  • Lo​​aderContext 方法解释了here on StackOverflow,但出现 2124 错误(加载的文件是未知类型 - 似乎 Loader 方法只能用于 SWF 或 JPG 等媒体);
  • 按照always here on StackOverflow 的描述设置本地播放,但没有帮助;
  • 按照here 的说明在 Global Flash Player Trust 目录中设置和异常,但再次获得 2028;

任何能够克服这一点并愿意解释如何或至少指出正确方向的人?

提前致谢!

【问题讨论】:

    标签: json actionscript-3 flash sandbox


    【解决方案1】:

    我认为您当前发布的文件仅评估本地文件而不是网络文件,这就是您收到安全#2028 错误的原因。

    为避免这种情况,您可以将已发布 swf 的 Local playback securityPublish Settings 更改为 Access network only

    如果您在本地测试时仍然遇到安全错误(例如 #2048 错误),请查看 my answer of this question 以将您的本地 swf 文件添加到受信任的位置...

    希望能有所帮助。

    【讨论】:

    • 后者确实做到了。您描述的第一个解决方案不是正确的,因为我已经尝试过更改并切换回堡垒。我不得不承认,您描述的如何添加 Global Trust 目录的方式比 Adob​​e 官方指南中解释的方式更有效。衷心感谢您!
    猜你喜欢
    • 2016-08-03
    • 2021-09-08
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2018-05-27
    相关资源
    最近更新 更多