as3怎么获取php中的变量
as3怎么获取php中的变量 [ 标签:php变量 ]as代码:
var phpFile:String="exampleCom.php";
my_btn.addEventListener(MouseEvent.MOUSE_DOWN,callServer);
function callServer(e:MouseEvent):void {
var urlRequest:URLRequest=new URLRequest(phpFile);
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE,serverResponse);
loader.load(urlRequest);
}
function serverResponse(e:Event):void {
var loader:URLLoader=URLLoader(e.target);
var variables:URLVariables=new URLVariables(loader.data);
timeTxt.text=variables.returnValue;
trace(e.target.data);
trace(variables.returnValue);
}
php文件代码如下:
<?php
//下面是一个简单的php中键值对信息
print "returnValue=Hello from PHP,time is:".time();
?>
为什么我能获取整个php的代码,但是就是获取不到他的变量returnValue。获取出来全是undefined??无论是直接运行还是放localhost上去测试,都不行啊。。。
跪求答案!!!!!!!!!!!!!!!1
这是以前的以为朋友遇到的问题,我现在也遇到了同样的问题,花了很多时间还没有解决,请高手帮忙,不胜感激!
追问:很感谢您的建议,但还是不行。从我查的大量资料都表示可以从flash准确读出php回传的属性。我现在可以把php导出的这个html页面信息读出,但是不能读出php回传到URLLoader.data里name/value值对,如下面例子里的aa=cat。
我把我的两个实验程序贴出来,这样会清楚一点。
我的php程序(aabb.php)如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php
$aa="cat";
echo "aa=".$aa;
?>
在flash里加上一个文本框,命名为 tContent
我的as3程序(aabb.fla)如下:
var path:String="http://localhost/aabb.php";
var url:URLRequest=new URLRequest(path);
var loader:URLLoader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,handler);try{
loader.load(url);
}catch(Err:Error){
trace("worng");
}function handler(Evt:Event):void{
trace(loader.data);
tContent.text=loader.data.aa;
}从flash导出aabb.swf和aabb.html两个文件放在appach服务器的localhost目录。appach已经开启,而且正常安装了php5.0。 从浏览器输入:“http://localhost/aabb.php” ,浏览器正常输出aa=cat
希望得到的是从浏览器输入“http://localhost/aabb.html”或者“http://localhost/aabb.swf”后文本框里出现aa=cat,问题就出在这里,几经尝试都不行。
trace(loader.data);
trace的内容如下:
%3C%21DOCTYPE%20html%20PUBLIC%20%22%2D%2F%2FW3C%2F%2FDTD%20XHTML%201%2E0%20Transitional%2F%2FEN%22%20%22http%3A%2F%2Fwww%2Ew3%2Eorg%2FTR%2Fxhtml1%2FDTD%2Fxhtml1%2Dtransitional%2Edtd%22%3E%0D%0A%3Chtml%20xmlns=%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F1999%2Fxhtml%22%3E%0D%0A%3Chead%3E%0D%0A%3Cmeta%20http%2Dequiv%3D%22Content%2DType%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf%2D8%22%20%2F%3E%0D%0A%3Ctitle%3E%E6%97%A0%E6%A0%87%E9%A2%98%E6%96%87%E6%A1%A3%3C%2Ftitle%3E%0D%0A%3C%2Fhead%3E%0D%0A%0D%0A%3Cbody%3E%0D%0Aaa%3Dcat%3C%2Fbody%3E%0D%0A%3C%2Fhtml%3E%0D%0A
在flash里测试的错误信息如下:
TypeError: Error #2007: 参数 text 不能为空。
at flash.text::TextField/set text()
at aabb_fla::MainTimeline/handler()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
在aa前加上@后,变成 tContent.text=loader.data.@aa;
flash测试错误信息如下:
ReferenceError: Error #1081: 在 @aa 上找不到属性 @aa,且没有默认值。
at aabb_fla::MainTimeline/handler()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/flash.net:URLLoader::onComplete()