我正在尝试将一个变量从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.data”上的跟踪会返回一个包含整个PHP文件中每个单词的大量字符串,包括注释,这篇文章中省略了(C ++ / Flash样式注释(/ /)),一些随机数用%符号分隔。这肯定是一个简单的解决方案,但我对PHP很新(并且对Flash还没有太多经验),所以如果有人能帮助我,我会非常感激。
答案 0 :(得分:1)
首先,在浏览器上测试您的PHP,看看它是否按预期工作。其次,您的完整功能应如下所示:
function onXMLLoad(event:Event)
{
var variables:URLVariables = new URLVariables( event.target.data );
trace(variables.member_id);
}
希望这能回答你的问题。