0

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

我正在使用我的 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";}
4

2 回答 2

0

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

您必须使用 HTML“a href”标签将链接写入 htmlText。

如果你想要一个请求结果,那么你必须添加事件监听器来请求并执行它。当您的请求完成时,该事件将触发,您可以从中检索 String 结果数据。因此,将这些数据放入您的 TextField 的 htmlText 中。

于 2013-05-08T10:07:46.833 回答
0

为了从该请求中接收任何内容,您必须先调用AjaxRequest.send(),然后您必须等到该请求返回数据(查询URLLoader.data之后它将收到自己的Event.COMPLETE事件)。任何涉及外部数据源的东西都是异步的,这意味着结果不能立即获得。当然,您不能直接接收该请求的结果,因此分配new AjaxRequest()给 TextField 是完全错误的。错误就是这样说的。使用本手册这套说明来学习如何使用装载机并接收他们装载的东西。

于 2013-05-08T10:25:54.210 回答