我想创建一个类,以获得amfphp服务的响应。
有我的代码。
public class remoteReporting
{
var myService:NetConnection;
var RES;
public function remoteReporting()
{
myService = new NetConnection();
myService.objectEncoding = ObjectEncoding.AMF0;
myService.connect("../../Amfphp/");
}
public function call(fonction:String,parameters)
{
myService.call(fonction,new Responder(RESULT),parameters);
}
private function RESULT(res:Object):void{
RES=res;
Alert(String(res));
}
public function get()
{
Alert.show(String(RES));
}
}
我写的时候:
Remote = new remoteReporting();
Remote.call("ExampleService.returnOneParam","var1");
这里警告功能结果,显示信息确定, 但是获取功能的警报不显示任何东西。
我不知道为什么!你可以帮助我!!
答案 0 :(得分:1)
我看到一些问题。首先,不是get a reserved word的种类?它用于在组件上创建getter / setter属性的一半getter。
执行此操作时:
public function get()
{
Alert.show(String(RES));
}
对我来说看起来不完整。通常我们会这样做:
public function get myProperty():Object
{
Alert.show(String(RES));
}
第二,RES变量不是一个完整的变量定义:
var RES;
您没有定义类型。尝试这样的事情:
var RES : Object
我怀疑第一个是你的问题;但是我也怀疑你有没有编译的代码,或者你在发布之前已经删除了太多的代码。
您应该考虑重命名该功能以查看它是否为您提供了解决方案。如果没有,您应该考虑在代码中放置一个调试语句并验证该方法是否实际运行。根据你提供的代码,我明确调用'get()'方法对我来说并不明显,所以我不确定它为什么会运行。
答案 1 :(得分:0)
我不确定你是如何设置amfphp但是你需要连接到amfphp中的gateway.php文件。
myService.connect("../../Amfphp/gateway.php");
假设您正在使用默认的amfphp文件名和.htaccess - 您的设置可能会有所不同。
你的RESULT函数警报调用也不正确 - 它应该是Alert.show(String(res))而不是Alert(String(res));