Flex - 2032:仅限IE中的流错误

时间:2008-12-10 02:28:12

标签: flex flash httpservice

我从Flash中收到2032流错误,以响应在IE中返回“201 Created”的POST请求(Firefox工作正常)。由于Flash不提供对HTTP状态的访问,因此我无法确定它实际上是否已成功。请求是使用HTTPService进行的。

有什么建议吗?有没有人见过这个?

谢谢,Alex

2 个答案:

答案 0 :(得分:4)

我在Flex on Rails应用程序上找到了解决方法。我在IE中看到了同样的问题 - 我在Rails中的development.log发出了201消息,但这导致了一个错误回到Flex。我在Tony Hillerson和Daniel Wanja撰写的一本名为 Flex On Rails 的新书中找到了参考文献。它涉及捕获201错误并更改标题。这是我的ApplicationController文件:

 class ApplicationController < ActionController::Base
  helper :all # include all helpers, all the time
  include AuthenticatedSystem
  before_filter :login_required


  after_filter :flex_error_handling
  def flex_error_handling
    response.headers['Status'] = interpret_status(200) if response.headers['Status'] == interpret_status(422)
    response.headers['Status'] = interpret_status(200) if response.headers['Status'] == interpret_status(201)
  end
  def rescue_action_in_public(exception)
    render_exception(exception)


  end
  def rescue_action_locally(exception)
    render_exception(exception)
  end
    rescue_from ActiveRecord::RecordNotFound, :with => :render_exception
  def render_exception(exception)
    render :text => "<errors><error>#{exception}</error></errors>", :status => 200
  end
end

将422状态消息更改为200的操作是Hillerman / Wanja将2032流错误更改为更友好的原始建议的一部分,以便将无效的记录错误发送回Flex UI。

答案 1 :(得分:1)

尝试使用调试代理来查看流量,我喜欢Charles