loadVariables提供了一种简单的方法让我们可以从服务器端的ASP或者PHP页面载入变量,除了使用GET方法,它还可以使用POST方法将
客户端提交的数据传递给服务器。然而在处理大量客户端与服务器端交互的信息时,使用过多的loadVariables语句会让整个程序的维护性和可读性变
得复杂。在Flash
MX的Action中,新增加了一个LoadVars的对象,并将它和XML,XMLSocket对象一起归纳于Client/Server对象之下。
LoadVars对象是loadVariables
动作的替代方法,它能够提供一种更好的结构向服务器发送和返回信息。一个典型的LoadVars对象使用的例子如下:复制内容到剪贴板fla代码://构造一个新的LoadVars对象
myload=newLoadVars();
//设定myload的动作,以便服务器验证
myload.action="post";
//验证和服务器连接的函数
myload.onLoad=function(success){
//如果和服务器成功连接则…
if(success){
//如果验证动作成功则…
if(this.conn=="1"){
//将返回对象中的output变量赋值给场景中var为output的DynamicText框
_root.output=this.output;
}
}else{
//如果和服务器连接不成功则返回失败消息,需要检查路径是否正确
_root.output="Can'tconnecttoServer";
}
};
//DynamicText的初始值为一个等待消息
_root.output="Waitingforresponse...";
//将myload下的变量发送到服务器端,并将服务器返回的数据结果放在myload对象中
myload.sendAndLoad("http://www.vag.com/ras/insertcorn.php",myload,"post");
//注意这里的url
在
场景中以一个var名为output的Dynamic
Text框来接受来自服务器的消息。使用LoadVars,我们可以利用sendAndLoad方法将一个LoadVars的实体下的所有变量发送出去,
并将服务器返回的数据结果存储到一个目标对象中,其中conn是从服务器发送回来的,我们还利用了其onLoad事件函数来检验其是否将
信息发送到了服务器页面,再利用从服务器传回来的数据(this.conn)来验证信息是否正确。服务器页面的代码如下:
PHPinsertcorn.php:
<?php$action=$HTTP_POST_VARS["action"];
if($action=="post"){
$str_Msg="OK!returnaMsgtoyou!";
$conn=1;//加分记录成功
$output='suc';
}
else
{
$conn=0;//加分记录失败
$output='error';
}
echo$conn;
?>