如何将参数发送到 HTTPService 调用以作为组件重用
Posted
技术标签:
【中文标题】如何将参数发送到 HTTPService 调用以作为组件重用【英文标题】:how to send parameter to HTTPService call to reuse as component 【发布时间】:2012-08-10 09:54:21 【问题描述】:如果可能,我想重用 s:HTTPService
组件。我无法理解如何将参数传递给服务调用,以便更改结果函数。
例如,
functOne(), HTTPService result = "FunctOneRtn(event)"
functTwo(), HTTPService result = "FunctTwoRtn(event)"
弹性 4.6
<fx:Declarations>
<s:HTTPService id="myCall" url="http://myUrl.com/"
useProxy="false" method="POST" result=funct***Rtn(event) >
</s:HTTPService>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
private function functOne() :void
var params:Object = new Object();
/* call FuntOneRtn */
myCall.send(params);
private function functTwo() :void
var params:Object = new Object();
/* call FuntTwoRtn */
myCall.send(params);
public function FunctOneRtn(event:ResultEvent) : void
// Do Some Stuff
public function FunctTwoRtn(event:ResultEvent) : void
// Do Some Stuff
]]>
</fx:Script>
感谢艺术
【问题讨论】:
【参考方案1】:您不能将参数传递给 HTTPService,但可以更改不同请求的处理函数。这是一个样本
<fx:Declarations>
<s:HTTPService id="myCall" url="http://myUrl.com/"
useProxy="false" method="POST">
</s:HTTPService>
</fx:Declarations>
private function functOne():void
myCall.addEventListener("result",FunctOneRtn);
private function functTwo():void
mycall.removeEventListner("result",FunctOneRtn);
myCall.addEventListener("result",FunctTwoRtn);
private function FunctOneRtn(event:ResultEvent)
//handle function one result
private function FunctTwoRtn(event:ResultEvent)
//handle function two result
那么你可以随意调用functOne()和functTwo()
【讨论】:
【参考方案2】:我相信我们将只有一个 ResultEvent 函数,您必须编写逻辑来区分第一次和第二次调用从 ResultEvent 获得的结果。
【讨论】:
以上是关于如何将参数发送到 HTTPService 调用以作为组件重用的主要内容,如果未能解决你的问题,请参考以下文章