如何访问 IOErrorEvent 上的 AS3 URLLoader 返回数据

Posted

技术标签:

【中文标题】如何访问 IOErrorEvent 上的 AS3 URLLoader 返回数据【英文标题】:How to access AS3 URLLoader return data on IOErrorEvent 【发布时间】:2010-09-16 09:02:12 【问题描述】:

我正在为 api 编写一个动作脚本库。我使用 URLLoader 对象从 api 加载数据。我遇到的问题是,每当 api 在 400 秒内返回 http 状态时,actionscript 都会将此视为 io 错误。这一切都很好,但是,如果是这种情况,似乎无法访问返回的任何数据。因此,任何有关返回的错误原因的有用 xml 都会丢失。有没有办法解决?如果 api 返回错误时无法为开发人员提供任何有用的信息,这会使库有点痛苦。感谢您的帮助!

【问题讨论】:

【参考方案1】:

您无法访问 400 事件中的数据。但是,您可以通过添加 HTTP 状态事件的侦听器来获取状态代码。

如果您控制后端代码,有两种解决方法:

一种选择是让后端响应 200s,即使在与 flash 客户端通信时出现错误情况,但使用特殊的错误代码,以便客户端知道 200 响应实际上是一个错误。

另一个选项是在包含错误消息的客户端上设置一个 cookie。 Flash 无法本地访问 cookie,但您可以使用 ExternalInterface 调用 javascript 来读取 cookie,或者客户端可以选择对读取 cookie 并以错误消息响应的特殊后端控制器进行另一次访问。

【讨论】:

以上是关于如何访问 IOErrorEvent 上的 AS3 URLLoader 返回数据的主要内容,如果未能解决你的问题,请参考以下文章

AS3加载外部XML文件

AS3 Flash Builder 错误 参数数量不正确

如何从 doc 类 AS3 定位舞台上的影片剪辑?

AS3将文件保存在iOS上的可访问位置

as3 以普通影片剪辑的形式访问子项(gotoAndPlay 等)

AS3:如何从影片剪辑内部检查和重置主时间轴上的变量