Flex扩展HTTPService简化调用接口定义
2009-02-11 11:57:16 来源:WEB开发网HttpBase的定义
该HttpBase是针对本人现有需求所制定的,所以并不一定适合你的需要;但作为一个参考
public class HttpBase
代码也非常简单,就是在httpservice的基础上包装一下。其实了解AS的朋友应该可以看得出对于动态语言来说直接把HttpBase定义成动态类,然后直接设置成员提交这样就省下每个交互都定义一个类型出来这么麻烦。但作为一个服务接口调用成员越明确越好,因为程序是要经常修改和维护的;不过是不是要这样做就是团队约束规范问题了。
{
private var mService:HTTPService=null
private var mResult:Function=null;
private var mFristSearch:Boolean=false;
public var _TimeSlice:Date;
public function GetService():HTTPService
{
return mService;
}
public function HttpBase(api:String,method:String="get",result:Function=null)
{
mService = new HTTPService();
mService.useProxy=false;
mService.url=GetServiceUrl()+api;
mService.resultFormat="e4x";
mService.method=method;
mService.addEventListener(FaultEvent.FAULT,HFSoftCoreFun.onFault);
mService.addEventListener(ResultEvent.RESULT,OnResult);
mResult=result;
}
protected virtual function GetServiceUrl():String
{
return "service.aspx?do=";
}
private function OnResult(event:ResultEvent)
{
var data:XML=XML(event.result);
var iserror:Boolean=HFSoftFx.HFSoftCoreFun.IsError(data);
if(mResult!=null)
mResult(data,iserror);
}
public function get FirstSearch():Boolean
{
return mFristSearch;
}
public function Open(firstSearch:Boolean=false)
{
_TimeSlice =new Date();
mFristSearch=firstSearch;
mService.send(this);
}
}
Tags:Flex 扩展 HTTPService
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接