Php AS2:使用sendandload加载类变量
我将ActionScript2.0与PHP结合使用,现在我可以调用我的PHP文件并接收数据,但显然我必须立即使用这些数据,我不能用它来填充我的类变量 这就是我想要的: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
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期间提取它。