从PHP到AS3的未定义变量
我需要从PHP到AS3获取一些变量,但这不起作用 AS3代码:从PHP到AS3的未定义变量,php,actionscript-3,flash,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.metho
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";
?>
像这样,我得到了这个结果
%3C%3Fphp%0D%0Aprint%20%22resultVar=okay%22%3B%0D%0A%3F%3E
您的PHP代码没有被解释为PHP,导致返回整个文件内容(尝试对数据字符串进行URL解码),这当然是无效的
所以,检查您的服务器有什么问题,可能它不支持PHP,可能PHP被禁用,可能PHP扩展没有注册(这会很奇怪),可能您实际上根本没有在服务器上测试,但在您的本地文件系统中,等等。您是否尝试过在URLRequest中使用完整的url,如“”? 也可以试试这个代码
function urlCompleted(event:Event):void{
var urlLoaderOk:URLLoader = URLLoader(event.target);
var urlvars:URLVariables = new URLVariables(urlLoaderOk.data);
trace(urlvars.resultVar);
}
我已经检查了link.php,它在浏览器中打开并显示“resultVar=ok”,所以我想没有问题。@ssorfonos由于Web服务器并不真正关心请求的来源,您很可能没有从服务器加载文件,正如我提到的,您可能没有在服务器上/从服务器上运行电影,但是在您的本地文件系统中。使用
echo“resultVar=ok”
也有同样的问题吗?
function urlCompleted(event:Event):void{
var urlLoaderOk:URLLoader = URLLoader(event.target);
var urlvars:URLVariables = new URLVariables(urlLoaderOk.data);
trace(urlvars.resultVar);
}