尝试向ASP.NET asmx Web服务发送POST请求时,我看到(在Charles和Firebug中)它作为GET进行。
这是我的AS3
public function save(page:SharedPageVO, callback :Function = null): void {
var req:URLRequest = new URLRequest( "service.asmx/CreateSharedPage" );
req.data = page;
req.method = URLRequestMethod.POST;
if (callback != null)
{
//handle removing the event here instead of there
this.complete = callback;
DataService.instance.addEventListener(Event.COMPLETE, onComplete);
}
DataService.instance.load( req );
}
public var complete:Function;
private function onComplete(e:Event)
{
if (complete != null) complete(e);
complete = null;
DataService.instance.removeEventListener(onComplete);
}
这似乎是flash的一个问题,因为它甚至在它进入服务器之前就已经发生了。我已将其上传到测试服务器,我仍然认为它是作为GET实现的。任何帮助,将不胜感激。感谢。
答案 0 :(得分:1)
来自actionscript LR(URLRequest类,方法属性):
注意:如果在Flash Player中运行且引用的表单没有正文,则Flash Player会自动使用GET操作,即使该方法设置为URLRequestMethod.POST也是如此。因此,建议始终包含“虚拟”主体,以确保使用正确的方法。
您使用的是“虚拟”身体吗?