我需要从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
答案 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);
}