AsyncToken返回基本字符串



我正在尝试开发一个Flex移动/PHP应用程序,我遇到了一些麻烦与AsyncToken…它不只是返回一个基本字符串吗?

例如

…我想从我的请求中返回一个简单的字符串结果-现在,它将从实现的方法中返回一个基本的输出字符串。后端部分工作(PHP),我已经完成了所有这些…这给我带来了一些问题:

import mx.rpc.AsyncResponder;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
protected function button_clickHandler(event:MouseEvent):void
{
    loginResult.token = user_service.login();
    loginResult.token.addResponder(new AsyncResponder(onResult,onFault));
}
public function onResult(event:ResultEvent, token:Object):void
{
    // what would i do here??
}
public function onFault(event:FaultEvent,token:Object):void
{
    txtResult.text = event.fault.faultDetail;
}

这是相当直接的-任何建议,或推荐肯定会有所帮助!谢谢你!

很简单。ResultEvent#result属性包含远程服务返回的值。您所需要做的就是将其强制转换为正确的类型(因为它默认是Object)。

例如,处理返回String的服务方法:
public function onResult(event:ResultEvent):void {
    var s:String = event.result as String;
}

同样适用于其他类型:

var a:Array = event.result as Array;

或者更复杂的自定义类:

var instance:MyClass = event.result as MyClass;

注意,最后这个例子只适用于AMF远程处理;你必须在客户端和服务器端有相同的类定义;并且必须通过在AS类定义上使用[RemoteClass(alias="net.riastar.MyClass")]元数据标记来让它们知道彼此的存在。在服务器端如何处理这个取决于那里使用的语言。

相关内容

  • 没有找到相关文章

最新更新