我的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/