我想在一个URL上发送HTTP PUT请求,以使用API更新XML内容。
网址如下:https://domainname.com/someurls/id.xml
我想更新该内容。
但是当我发送这个PUT请求时,我已经看到在Flex 4的网络监视器中,它在此Web上作为POST请求,而我在HTTPService变量中将方法设置为PUT。
所以我收到了错误。 那么有没有办法在网上发送PUT请求? 要么 是否有任何特殊的标题来设置PUT方法? 我尝试过方法标题,但它不起作用....
请帮帮我......
答案 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。但是,如果服务器和客户端都在您的控制之下,我建议您仅使用GET
和POST
。 Flex并不适用于真正的RESTful客户端。 (例如,使用参数put=true
)