flex3 - 如何在Flex 3中通过HTTP请求传递错误信息?

标签 flex3 error-handling http-status-codes

我的Flex3应用程序必须显示来自服务器的有意义的应用程序级错误消息。

This article文章说,Flash在接收错误信息方面有严格的限制,无论是作为状态码,响应正文还是所描述的响应 header ,它都是如此。我可以从servlet中使用任何这些。但是显然没有人可以访问!

但是我的代码在非200 HTTP状态代码上接收到的继mx.rpc.events.FaultEvent之后的HTTPService.send不允许访问其中任何一个!

一种解决方法是始终传递200个“OK”状态代码,并在正文中使用XML内容,例如带有<Error>根标签。但这将完全绕过Flex错误机制,如果发生错误,我的每个事件处理程序都必须自己弄清楚。

我只想允许某些错误信息可用。

顺便说一句,我总是使用POST,因为Flex通过POST传递的信息比通过GET传递的信息更多。

最佳答案

经过进一步的探索,似乎没有非hacky的方式可以做到这一点。
HTTPService根本不会传递有关错误的任何信息。

因此,您必须编写一个变通方法层来处理如上所述的错误:始终传递200个“OK”状态代码,并在正文中使用XML内容,例如带有<Error>根标签和XML中的状态代码。然后,创建一个在XML处于非200状态的情况下以Fault回调的层。

关于flex3 - 如何在Flex 3中通过HTTP请求传递错误信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031688/

相关文章:

java - 将对象从flex发送到java servlet

apache-flex - Flex 选项卡导航器 : initialize hidden tabs

php - 如何在PHP中获取 sphinx 连接失败错误

javascript - 文件写入权限被EPERM阻止-删除然后写入新文件。 Node.js

java - 对 RESTful 资源的 GET 请求导致未找到 MessageBodyWriter

validation - HTTP POST 中用于数据验证的 HTTP 状态代码和响应主体

apache-flex - 用不确定的微调器替换 Flex 预加载器杆?

apache-flex - 如何在 ActionScript 中使用数组调用可变参数函数?

ios - 错误 "Call can throw, but is not marked with ' try' 错误未被处理”

java - 在 Play 中返回 HTTP 状态 "created"!框架