代码之家  ›  专栏  ›  技术社区  ›  Joshua Fox

如何通过Flex3中的HTTP请求传递错误信息?

  •  1
  • Joshua Fox  · 技术社区  · 15 年前

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

    This article 文章说,flash在接收错误信息方面有严重的限制,无论是作为状态代码、响应主体还是响应头(如前所述)。我可以使用我的servlet中的任何一个。但显然没有人可以接近!

    但是 mx.rpc.events.FaultEvent 我的代码收到以下内容 HTTPService.send 在非200 HTTP状态代码上,不允许访问其中任何一个!

    一个解决方法是始终传递200个“OK”状态代码,并在正文中使用XML内容,例如 <Error> 根标签。但这将完全绕过flex故障机制,我的每个事件处理程序都必须自己找出是否存在错误。

    我只想允许 一些 出错时可用的响应信息排序。

    顺便说一下,我总是使用post,因为flex通过post传递的信息比get传递的信息更多。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Joshua Fox    15 年前

    经过进一步的探索,似乎没有一种非黑客的方法可以做到这一点。

    HTTPService 只是不能通过 任何 有关错误的信息。

    因此,您必须编写一个变通层来处理上面描述的错误:总是传递200个“确定”状态代码,并在正文中使用XML内容,例如 <Error> 根标记和XML中的状态代码。然后,创建一个层,当XML中的状态为非200时,该层用一个错误回调。