0

PHP 文件:

echo("var1=".$region);
echo("var2=".$realm);
echo("var3=".$type);
echo("var4=".$teamName);
echo("var5=".$battlegroup);

AS3 文件:

public function returnResult(e:Event):void{
        var _string = unescape(e.target.data);
        trace(_string);
        if(count == 50){
            trace(e.target.data.var1);
            trace(e.target.data.var2);
            trace(e.target.data.var3);
            trace(e.target.data.var4);
            trace(e.target.data.var5);
        }
        else{
            count++;
        }
    }

闪退:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
var1=euvar2=les-clairvoyantsvar3=5v5var4=wheres the dragonvar5=sturmangriff-charge
undefined
undefined
undefined
undefined
undefined

这应该是通过名称查找变量的简单案例,但由于某种原因它不起作用。

我在这里犯了一个非常愚蠢的错误吗?

4

1 回答 1

0

您从 PHP 中得到的只是一个字符串(正如您在跟踪它时所看到的那样)。仅仅输入“var=”实际上并没有做任何 AS3 可以理解的事情——它仍然是一个字符串,其值恰好是“var=”。由于您只是在处理一个字符串,因此尝试访问 var1、var2 等属性将返回 undefined,因为字符串没有此类属性。

您可以构建自己的定界符并以此为基础拆分字符串,例如使用字符串“:::”作为字符串中不同项目之间的定界符,并基于此将字符串拆分为数组。或者,您可以发回结构化 XML 并以这种方式访问​​属性,而不仅仅是发回非结构化文本。

于 2012-08-19T01:52:08.447 回答