从PHP到AS3的未定义变量

时间:2015-06-19 17:40:39

标签: php actionscript-3 flash

我需要从PHP到AS3采取一些变量,但这不起作用。

AS3代码:

var urlLoader:URLLoader = new URLLoader;
var urlRequest:URLRequest = new URLRequest("link.php");
var urlVariables:URLVariables = new URLVariables;

urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
urlRequest.method = URLRequestMethod.POST;
urlRequest.data = urlVariables;
urlLoader.addEventListener(Event.COMPLETE, urlCompleted);
urlLoader.load(urlRequest);

function urlCompleted(event:Event):void{
    var urlLoaderOk:URLLoader = URLLoader(event.target);
    urlLoaderOk.dataFormat = URLLoaderDataFormat.VARIABLES;
    trace(urlLoaderOk.data.resultVar);
}

这是简单的PHP代码:

<?php
print "resultVar=okay";
?>

我得到了“未定义”的结果。

但是,如果我尝试

trace(urlLoaderOk.data); 
像这样,我得到了这个结果

%3C%3Fphp%0D%0Aprint%20%22resultVar=okay%22%3B%0D%0A%3F%3E

2 个答案:

答案 0 :(得分:2)

您的PHP代码未被解释为PHP,导致返回整个文件内容(尝试对数据字符串进行URL解码),这当然不是有效的。

所以,检查你的服务器有什么问题,也许它不支持PHP,也许PHP被禁用,也许.php扩展名没有注册(那可能很漂亮)虽然很奇怪,也许你实际上根本没有在服务器上测试这个,但在你的本地文件系统中等等......

答案 1 :(得分:0)

你是否试过像#34; http://some.where.com/location/of/link.php&#34;这样的完整网址?在URLRequest? 并尝试此代码

function urlCompleted(event:Event):void{
    var urlLoaderOk:URLLoader = URLLoader(event.target);
   var urlvars:URLVariables = new URLVariables(urlLoaderOk.data);
    trace(urlvars.resultVar);
}