Php AS2:使用sendandload加载类变量

Php AS2:使用sendandload加载类变量,php,actionscript-2,Php,Actionscript 2,我将ActionScript2.0与PHP结合使用,现在我可以调用我的PHP文件并接收数据,但显然我必须立即使用这些数据,我不能用它来填充我的类变量 这就是我想要的: class user { var lastname:String; function user(in_ID:Number){ var ontvang:LoadVars = new LoadVars(); var zend:LoadVars = new LoadVars(); ze

我将ActionScript2.0与PHP结合使用,现在我可以调用我的PHP文件并接收数据,但显然我必须立即使用这些数据,我不能用它来填充我的类变量

这就是我想要的:

class user {

var lastname:String;

function user(in_ID:Number){
        var ontvang:LoadVars = new LoadVars();
        var zend:LoadVars = new LoadVars();
        zend.ID = in_ID;
        zend.sendAndLoad("http://localhost/Services/getUser.php", ontvang, "POST");
        ontvang.onLoad = function(success:Boolean) {
            if (success) {
                lastname = ontvang.lastname;
            } else {
                lastname = 'error';
            }
        };
}
}
我发现这是AS2中的一个大问题,我发现这篇文章可以解决加载XML数据时的问题,但我似乎无法让它与LoadVar一起工作:


如果您有任何帮助,我们将不胜感激。

当您的onLoad处理程序被调用时,它将被调用,就像它是LoadVars实例的成员函数一样,而不是您的用户实例

有几种方法可以解决这一问题,其中一种是用于创建可按预期工作的功能,例如:

import mx.utils.Delegate;

class user {

    var lastname:String;
    var ontvang:LoadVars;

    function user(in_ID:Number){
                ontvang = new LoadVars();
                var zend:LoadVars = new LoadVars();
                zend.ID = in_ID;
                ontvang.onLoad = Delegate.create(this, onLoad);                
                zend.sendAndLoad("http://localhost/Services/getUser.php", ontvang, "POST");

                };
    }

    function onLoad(success:Boolean) : Void
    {
       if (success) {
          lastname = ontvang.lastname;
       } else {
          lastname = 'error';
       }
    }
}

不要忘记加载是异步的——当您创建一个用户对象时,成员变量将不会立即可用。您可能需要做的是让您的用户对象能够像LoadVars一样发出准备就绪的信号(例如,通过调用方提供的回调函数),以便您的应用程序由这些异步事件驱动。

好的2件事:1。在哪里可以找到委托类?2.在onLoad函数中,它现在调用ontvang.lastname,但在onLoad函数中没有ontvang变量。。不过已经谢谢你了!好的,显然我只需要添加import mx.utils.Delegate;我尝试在主文件中使用this.lastname而不是ontvang.lastname,现在我有了var u=new user(1);tekst.text=u.getLastname();但是我的tekst文本字段中仍然有“未定义”的内容。对不起,我已经更正了。ontvang需要是类成员,这样您就可以在onLoad期间提取它。