这里的问题是,围绕此问题的许多网络讨论都已经有一年或更久的历史了。我现在正在做同样的研究,这就是我今天所学到的。
Jorge Rasillo和Mike Burr
于2008年8月发表的这篇IBM
Developer
Works文章展示了如何制作Flex前端/
RESTful后端应用程序(PHP和Groovy中的示例)。不错的文章。无论如何,这是要采取的措施:
- 他们的PHP / Groovy代码 使用并期望 PUT和DELETE。
- 但是Flex代码必须使用POST,但是将HTTP标头X-Method-Override设置为DELETE(您可以对我认为的PUT进行相同操作)。
- 请注意,这 不是 上面讨论的代理方法。
``
// Flex doesn't know how to generate an HTTP DELETE.// Fortunately, sMash/Zero will interpret an HTTP POST with// an X-Method-Override: DELETE header as a DELETE.deleteTodoHS.headers['X-Method-Override'] = 'DELETE';
这里发生了什么事?IBM Web服务器截获并将“ POST with DELETE”解释为DELETE。
因此,我进一步进行了挖掘,并与Don
Box(最初的SOAP专家之一)找到了这篇文章和讨论。显然,这是一个相当标准的行为,因为某些浏览器等不支持PUT和DELETE,并且已经有一段时间了。这是一个片段,但是还有更多讨论。
“如果我正在构建一个GData客户端,我真的不知道为什么考虑到X-HTTP-Method-
Override可以在更多情况/部署中使用,为什么还要使用DELETE和PUT方法呢?”
我可以避免的是,如果您的Web端支持此X-Method-Override标头,则可以使用此方法。Don
Box的评论使我认为它得到了很好的支持,但我尚未确认。
围绕能够读取HTTP响应标头出现另一个问题。同样,从Nathan de
Vries在2007年发表的博客文章中,我们看到了讨论的内容。他通过自己的评论跟进了该博客文章和讨论:
“ Web方面的唯一变化是,Flash Player的较新版本(一定是Flex 3
beta附带的版本)现在支持HTTPStatusEvent实例的responseHeaders属性。”
我希望这现在不是问题。



