当前位置:编程学习 > php >>

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()

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,