如何在Flex中发送PUT HTTP请求

时间:2010-09-04 06:22:15

标签: flex actionscript-3 flex4 xmlhttprequest

我想在一个URL上发送HTTP PUT请求,以使用API​​更新XML内容。

网址如下:https://domainname.com/someurls/id.xml

我想更新该内容。

但是当我发送这个PUT请求时,我已经看到在Flex 4的网络监视器中,它在此Web上作为POST请求,而我在HTTPService变量中将方法设置为PUT。

所以我收到了错误。 那么有没有办法在网上发送PUT请求? 要么 是否有任何特殊的标题来设置PUT方法? 我尝试过方法标题,但它不起作用....

请帮帮我......

3 个答案:

答案 0 :(得分:11)

我找到了在flex中使用HTTPSerivce发送put和delete服务的解决方案。

您只需使用服务方法POST发送一个标题。

您必须在POST方法中发送数据并附加一个标头X-HTTP-Method-Override,并将该值作为PUT或DELETE附加。

您的服务将作为PUT或DELETE发送。

感谢......

答案 1 :(得分:2)

虽然Mitul的回复也对我有用,但我能够通过以下方式获得PUT和DELETE请求。

var urlLoader:URLLoader = new URLLoader();
            var urlString:String = "https://www.google.com/arbitraryUrl.json";
            var urlRequest:URLRequest = new URLRequest(urlString);
            urlRequest.method = URLRequestMethod.POST;

            var variables:URLVariables = new URLVariables();
            variables._method = "DELETE";
            urlRequest.data = variables;

            urlLoader.load(urlRequest); 

真的是这样的概念。不同的方式去做。希望这有助于一些人。

答案 2 :(得分:1)

由于底层的Flash播放器,Flex不支持PUT。有关限制,请参阅this article

有一个workaround here。但是,如果服务器和客户端都在您的控制之下,我建议您仅使用GETPOST。 Flex并不适用于真正的RESTful客户端。 (例如,使用参数put=true

创建帖子