0
我正在使用由第三方开发人员编写的基于Jetty的REST服务,我必须使用这些第三方开发人员从actionscript 3进行调用。有多个可用电话和大多数他们工作,只有一个我遇到麻烦:要结束一个会话,我必须发出一个POST请求到http://localhost/control/end
。从as3打电话到REST服务的问题
我做了一个基本的测试与Chrome的Simple Rest Client和工作原理:
- 我得到一个状态200响应
- 在服务控制台我看到一个
setEnd
呼叫做出
的问题是,当我在动作中尝试相同时,它似乎不起作用。 这里是我的基本呼叫:
private function deleteSID(event : MouseEvent) : void {
var request:URLRequest = new URLRequest(SERVER+"control/end");
request.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, deletedSID);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS , onHTTPStatus);
loader.load(request);
}
但我得到一个404而不是200,就好像它实际上没有做一个POST。
不幸的是,我没有很多REST API的经验,所以对我可能缺少的任何提示/提示表示赞赏。
您要发布帖子被援引作为URL的“http://本地主机:控制/结束”由于结肠,我假设'控制'应该是一个端口号。但是,在创建url请求时,似乎您将控件用作“String”,而不是端口号? – 2012-04-21 19:22:35
SERVER常量的内容是什么? 无论如何,尝试使用POST调用发送一些数据: var requestVars:URLVariables = new URLVariables(); requestVars.dummy =“lol”; request.data = requestVars; – 2012-04-21 20:38:29
对不起“localhost:control/end”是个错误。 @MarceloAssis我已经完成了'request.data ='oi';'整理出来。你想发布你的解决方案作为答案吗? – 2012-04-22 12:55:32