我从Flash中收到2032流错误,以响应在IE中返回“201 Created”的POST请求(Firefox工作正常)。由于Flash不提供对HTTP状态的访问,因此我无法确定它实际上是否已成功。请求是使用HTTPService进行的。
有什么建议吗?有没有人见过这个?
谢谢,Alex
答案 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。