Flash 沙箱无法让我从服务器获取 JSON 数据 - AS3
Flash sandbox not enabling me getting JSON data from server - AS3
我正在设置一个 本地 SWF 文件,它必须显示一些 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 错误(违反沙盒)。
我尝试了什么:
- LoaderContext 方法已解释 here on Whosebug 但我收到 2124 错误(加载的文件是未知类型 - 似乎 Loader 方法只能用于 SWF 或 JPG 等媒体);
- 按照描述设置本地播放always here on Whosebug,但没有帮助;
- 按照说明在 Global Flash Player Trust 目录中设置和排除 here 但再次获得 2028;
有谁能够克服这个问题并愿意解释如何或至少指出正确的方向?
提前致谢!
我认为您当前发布的文件只评估了本地文件而不是网络文件,这就是您遇到安全性 #2028
错误的原因。
为避免这种情况,您可以将已发布的 swf 的 Local playback security
从 Publish Settings
更改为 Access network only
:
如果您在本地测试时仍然遇到安全错误(例如 #2048 错误),请查看 以将您的本地 swf 文件添加到受信任的位置...
希望能帮到你。
我正在设置一个 本地 SWF 文件,它必须显示一些 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 错误(违反沙盒)。
我尝试了什么:
- LoaderContext 方法已解释 here on Whosebug 但我收到 2124 错误(加载的文件是未知类型 - 似乎 Loader 方法只能用于 SWF 或 JPG 等媒体);
- 按照描述设置本地播放always here on Whosebug,但没有帮助;
- 按照说明在 Global Flash Player Trust 目录中设置和排除 here 但再次获得 2028;
有谁能够克服这个问题并愿意解释如何或至少指出正确的方向?
提前致谢!
我认为您当前发布的文件只评估了本地文件而不是网络文件,这就是您遇到安全性 #2028
错误的原因。
为避免这种情况,您可以将已发布的 swf 的 Local playback security
从 Publish Settings
更改为 Access network only
:
如果您在本地测试时仍然遇到安全错误(例如 #2048 错误),请查看
希望能帮到你。