Flex响应者onResult,onFault

时间:2011-11-27 16:00:50

标签: flex

我想创建一个类,以获得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");

这里警告功能结果,显示信息确定, 但是获取功能的警报不显示任何东西。

我不知道为什么!你可以帮助我!!

2 个答案:

答案 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));