flex urlLoader post/get

/***
   * get 方式传递参数,数据量大会出现问题,数据会截断,传递到服务器端的数据不全,是由于地址栏传参的数据量有限制.
   */
  public static function connect(url:String,params:String,callback:Function,type:String="select"):void
  {
   url = SERVER_ADMIN_URL_ROOT + url + params;
   var err:Boolean=false; 
   var nocache:String=new Date().getTime().toString();
   if(url.indexOf("?")==-1)
    url = url+"?_nocache="+ nocache;
   else
    url = url+"&_nocache="+ nocache; 
   
   var req:URLRequest=new URLRequest(encodeURI(url));//encodeURI
     
   var loader:URLLoader=new URLLoader(req);
   //req.data=paras;
   req.method=URLRequestMethod.POST;   
   loader.dataFormat = URLLoaderDataFormat.TEXT;
   
   loader.addEventListener(IOErrorEvent.IO_ERROR, function ff():void{
    loader.removeEventListener(IOErrorEvent.IO_ERROR,ff);
    if(!err){
     Alert.show("网络通讯异常","异常");
     err=true;
    }  
   });
   loader.addEventListener(Event.COMPLETE,function ok(event:Event):void{
    loader.removeEventListener(Event.COMPLETE,ok);
    var result:Object=JSON.decode(String(event.target.data));    
    var evt:QueryEvent = new QueryEvent();
    if(type == SELECT){
     evt.mutiResultSet = result;
     if(result.result is Array){
      evt.resultSet = new ArrayCollection(result.result);
     }else{
      evt.resultSet = new ArrayCollection([result.result]);
     }
     evt.page.curPage = result.curpage;
     evt.page.nextPageIndex = result.nextpage;
     evt.page.prePageIndex = result.prepage;
     evt.page.totalPages = result.totalpage;
     evt.page.totalRecords = result.totalRecords;
    }else{
     evt.result = result.result;
    }
    callback(evt);
    loader.close();
    loader=null;
    req=null;
   });
   loader.load(req);
  }

 

/***
   * post 方式传递参数,解决数据量大的传输问题
   */
  public static function connectByPost(url:String,params:String,callback:Function,type:String="select"):void
  {
   var urlRoot:String = SERVER_ADMIN_URL_ROOT + url;
   url = SERVER_ADMIN_URL_ROOT + url + params;
   var err:Boolean=false; 
   var nocache:String=new Date().getTime().toString();
   if(url.indexOf("?")==-1)
    url = url+"?_nocache="+ nocache;
   else
    url = url+"&_nocache="+ nocache; 
   
   var urlVar:URLVariables = new URLVariables(url.substr(url.indexOf("?")+1));
   urlVar.obj = params;//encodeURI(params);
   
   Alert_1.show(urlVar.obj+"");
   
   var req:URLRequest=new URLRequest(url);
   req.url = urlRoot;
   
   req.method=URLRequestMethod.POST; 
   req.data = urlVar;
   var loader:URLLoader=new URLLoader(req);
   loader.dataFormat = URLLoaderDataFormat.TEXT;
   
   loader.addEventListener(IOErrorEvent.IO_ERROR, function ff():void{
    loader.removeEventListener(IOErrorEvent.IO_ERROR,ff);
    if(!err){
     Alert.show("网络通讯异常","异常");
     err=true;
    }  
   });
   loader.addEventListener(Event.COMPLETE,function ok(event:Event):void{ 
    loader.removeEventListener(Event.COMPLETE,ok);
    var result:Object=JSON.decode(String(event.target.data));
    var evt:QueryEvent = new QueryEvent();
    if(type == SELECT){
     evt.mutiResultSet = result;
     if(result.result is Array){
      evt.resultSet = new ArrayCollection(result.result);
     }else{
      evt.resultSet = new ArrayCollection([result.result]);
     }
     evt.page.curPage = result.curpage;
     evt.page.nextPageIndex = result.nextpage;
     evt.page.prePageIndex = result.prepage;
     evt.page.totalPages = result.totalpage;
     evt.page.totalRecords = result.totalRecords;
    }else{
     evt.result = result.result;
    }
    callback(evt);
    loader.close();
    loader=null;
    req=null;
   });
   
   if(!Global.debug){
    loader.load(req);
   }
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值