我正试图将一个变量从Flash发送到PHP,然后将其回显到Flash(现在忽略函数名称等;我只是想先解决基本问题)。
Flash文件(调用test.as):
var myLoader:URLLoader = new URLLoader();
var file_path:String = "get_this.php";
var myRequest:URLRequest = new URLRequest(file_path);
myRequest.method = URLRequestMethod.POST;
var memberInfo:URLVariables = new URLVariables();
myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
memberInfo.member_id = 10;
myRequest.data = memberInfo;
myLoader.addEventListener(Event.COMPLETE, onXMLLoad);
myLoader.load(myRequest);
function onXMLLoad(event:Event)
{
trace(myLoader.data);
}
PHP文件(get_this.php):
<?php
header('Content-Type: text/xml');
echo "<?xml version='1.0' encoding='UTF-8'?>";
$member_id = $_POST['member_id'];
echo "member_id=$member_id";
?>
但是,当我这样做时,对"myLoader. exe"的跟踪。data"返回一个巨大的字符串,由整个PHP文件中的每个单词组成,包括注释,这篇文章省略了(c++/Flash风格的注释(//)),其中一些随机数用%符号分隔。这当然是一个容易的修复,但我是相当新的PHP(和不太有经验的Flash尚未),所以如果有人可以帮助我,我将非常感激。
首先,在浏览器上测试PHP,看看它是否按预期工作。其次,完整的函数应该是这样的:
function onXMLLoad(event:Event)
{
var variables:URLVariables = new URLVariables( event.target.data );
trace(variables.member_id);
}
希望这能回答你的问题