将字符串从php传递给flash

时间:2016-06-24 06:26:03

标签: php actionscript-3 flash

我只是在Flash CS6中尝试PHP和AS3。我想要一些字符串从PHP传递到Actionscript3并将它们存储在一个数组中。这可能吗?

目前我正在这样做。我的PHP代码是

<?php
    echo "one,two,three,four";
?>

和AS3代码是:

var myRequest:URLRequest = new URLRequest("please7.php");
var myLoader:URLLoader = new URLLoader();           
myLoader.load(myRequest);
myLoader.dataFormat = URLLoaderDataFormat.TEXT;
myLoader.addEventListener(Event.COMPLETE, onLoaded);

function onLoaded(event:Event):void {
    var variables:String = event.target.data;
    trace(variables);
    var arr1:Array = new Array();
    arr1 = variables.split(","); 
    trace(arr1);
    }

这给了我这个输出:

<?php
    echo "one,two,three,four";
?>

如果我使用myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;代替myLoader.dataFormat = URLLoaderDataFormat.TEXT; ..我收到此错误

  

错误:错误#2101:传递给URLVariables.decode()的字符串必须是   包含名称/值对的URL编码查询字符串。

我希望输出简单[一二三四]

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作,它将作为查询字符串传递

在PHP中

<?php
 echo 'q=' . htmlentities($your_data);
?>

在AS3中

var urlLoader:URLurlLoader = new URLurlLoader();
urlLoader.dataFormat = URLurlLoaderDataFormat.VARIABLES;
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.load(new URLRequest("somefile.php")); 

function onComplete (event:Event):void {
    trace (urlLoader.data.q.toString());
}