万卷书   首页 > 电脑书籍 > Flash > Flash MX 新的闪烁世界(第二天)
 
LoadVars对象

  新的LoadVars对象看起来更像是一个针对变量处理的XML对象的简化版。它通过传输符合application/x-www-urlform-encoded标准的MIME格式的字符串来和ASP/PHP/JSP服务器交互信息。

  LoadVars对象的主要方法有send()、load()、sendAndLoad(),我简单作了一个服务器/客户的交互结构来说明他们的用法。

首先,随便做三个控制按钮,上面写着区分他们的文本即可。 接着,我们按F2打开场景的Action面板,输入这段Action:


varsobj=new loadvars();
tempvars=new loadvars();
tempvars.onLoad=function(loaded){if (loaded){trace("loaded");this.saved=1;debugTrace(this)}};
aimUrl="http://localhost/";
debugTrace = function (what) { for (var elm in what) {trace(elm+"="+what[elm])}};


  首先创建两个loadVars对象,第一个是发送用,第二个是接收用。既然第二个是接收数据用的,当然就要有onLoad事件,这个onLoad事件默认状态不存在,所以创建它并得给它一个处理函数。定义服务器地址aimUrl,最后加入自定义的排错函数察帮助看结果。


第一个按钮的Action:(Send)


on (release) {
varsobj.send(aimUrl+"savevar.php");
debugTrace(varsobj);
}

发送数据是不改变当前状态的,而且是没有任何返回值的,我们可以通过debugTrace来查看结果。


第二个按钮的Action:(Load)

on (release) {
varsobj.load(aimUrl+"putvar.php");
debugTrace(varsobj);
}

loadVars对象读入数据的方式是异步传送,既是如果当前接收到的变量相同则覆盖,不同则接收,互不影响,结果通过debugTrace判断。


第三个按钮的Action:(sendAndLoad)


on (release) {
tempvars.saved=0;
varsobj.sendAndLoad(aimUrl+"savevar2.php?saved=1",tempvars);
}

  和我们熟知的XML对象一样,sendAndLoad对象需要有一个接收的loadVars对象来接收服务器的返回数据。这时,onLoad的作用会体现出来。

上一页 下一页