我只是在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编码查询字符串。
我希望输出简单[一二三四]
我做错了什么?
答案 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());
}