首页 > 设计 > WEB开发 > 正文

21.5.处理Flash Remoting响应

2023-08-14 18:53:56
字体:
来源:转载
供稿:网友
问题
我想接收Flash Remoting方法返回值
解决办法
使用Responder 对象
讨论
第21.1章讨论了如何使用NetConnection对象的调用Flash Remoting方法,call( )方法的第二个参数指定处理函数, 如果为null 则不接收远程方法返回, 如果要处理响应, 可使用flash.net.Responder 对象。

Responder 构造器可传入两个引用参数,分别为处理返回值和处理异常:
+展开
-ActionScript
var responder:Responder = new Responder(onResult, onError);

当返回结果处理函数被调用时,会传进一个为返回值的参数:
+展开
-ActionScript
private function onResult(returnValue:Datatype):void {
}

异常处理函数会传进一个包含错误信息的对象。

下面的例子调用Flash Remoting方法getAverages( ),使用trace( ) 显示,getAverages( ) 方法返回一个关联数组,包含两个属性:flash 和actionscript:
+展开
-ActionScript
package {
import flash.net.NetConnection;
import flash.net.Responder;
public class Example {
private var _connection:NetConnection;
public function Example( ) {
_connection = new NetConnection( );
_connection.connect("http://www.rightactionscript.com/flashremoting/
gateway.php");
var responder:Responder = new Responder(onResult, onError);
_connection.call("FlashSurvey.getAverages", responder);
}
private function onResult(result:Object):void {
trace(result.flash + " " + result.actionscript);
}
private function onError(error:Object):void {
trace(error.description);
}
}
}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表