ActionScript隐式强制错误

时间:2013-05-08 09:24:35

标签: php ajax actionscript-3 flash

我是ActionScript和Flash环境的新手(刚刚开始),我正在尝试从.php文件中获取数据。 所以我在互联网上找到了this AjaxRequest class

我正在使用我的Main actionscript类测试它,该类与 AjaxRequest.as

在同一个包中

我的函数( HelloWorld.as 的构造函数)是:

// Create a TextField object and set its content to my php (AJAX) output
var t:TextField = new TextField( );
//Line 38 is this :
t.htmlText=new AjaxRequest("http://localhost/my_ajax_agent.php?action=flash");
addChild(t);

当我运行主类为 HelloWorld.as 的flash文件时,出现以下错误:

C:\path\to\HelloWorld.as, Line 38 1067: Implicit coercion of a value of type pakaj:AjaxRequest to an unrelated type String.

修改: 我的问题是:

为了将AJAX调用的结果作为字符串获取,我该怎么做?

感谢您的帮助!

注意:我的* ajax_agent.php *文件只能执行此操作。

if(@$_GET['action']=="flash"){echo "Hello World";}

2 个答案:

答案 0 :(得分:0)

您的代码错误,因为您尝试将AjaxRequest分配给String(TextField的htmlText属性是String类型的)。​​

您必须使用HTML“a href”标记在htmlText中写一个链接。

如果您想要一个请求结果,那么您必须添加事件监听器来请求并执行它。当您的请求被清除时,事件将触发,您可以从中检索字符串结果数据。所以,将这些数据放入TextField的htmlText。

答案 1 :(得分:0)

为了从该请求接收任何内容,您必须先调用AjaxRequest.send(),然后您必须等到该请求返回数据(查询URLLoader.data它将收到自己的{{1}事件)。任何涉及外部数据源的东西都是异步的,这意味着结果不能立即获得。当然,您无法直接接收该请求的结果,因此将Event.COMPLETE分配给TextField是正确的错误。错误就是这么说的。使用this manualthis set of instructions了解如何使用加载程序并接收加载的内容。