zoukankan      html  css  js  c++  java
  • Flex http请求

    下面类支持POST和GET请求,请求数据和出错将返回

    package com.sole.util
    {
        import flash.events.Event;
        import flash.events.HTTPStatusEvent;
        import flash.events.IEventDispatcher;
        import flash.events.IOErrorEvent;
        import flash.events.ProgressEvent;
        import flash.events.SecurityErrorEvent;
        import flash.net.URLLoader;
        import flash.net.URLLoaderDataFormat;
        import flash.net.URLRequest;
        import flash.net.URLRequestMethod;
        import flash.net.URLVariables;  
    
        public class HttpConnent
        {
            /**请求的url*/  
            public var url:String;
            /**请求的参数*/  
            public var urlVariables:URLVariables;  
    //        public var resultStr:String;  
            public var inputstream:Object;
            
            private var urlLoader:URLLoader;  
            private var request:URLRequest;  
            
            public var completeFun:Function;
            public var errFun:Function;
            
            /**
             *连接提交请求
             * @method 请求类型
             * post或get  默认post
             * @isstream 是否数据流请求
             */
            public function gotoConn(method:String=URLRequestMethod.POST,isstream:Boolean=false):void{  
                urlLoader = new URLLoader();  
                //URLLoader 类以文本、二进制数据或 URL 编码变量的形式从 URL 下载数据  
                request= new URLRequest(url);   
                request.method = method;//设置请求的类型 
                if(isstream){
                    request.contentType= "application/octet-stream";  
                    request.data=inputstream;
                    urlLoader.dataFormat = URLLoaderDataFormat.BINARY;  
                }
                if(urlVariables)
                    request.data = urlVariables;//将url请求的数据放入request中     
                
                configureListeners(urlLoader);//给urlloader对象添加监听事件   
                try {  
                    urlLoader.load(request);//开始发送请求   
                } catch (error:Error) {  
                    trace(error);  
                    urlLoader.close();
                } 
            }  
            
            private function configureListeners(dispatcher:IEventDispatcher):void {    
                //加载完成事件;     
                dispatcher.addEventListener(Event.COMPLETE, loaderHandler);    
                //开始访问事件;     
                dispatcher.addEventListener(Event.OPEN, loaderHandler);    
                //加载进度事件;     
                dispatcher.addEventListener(ProgressEvent.PROGRESS, loaderHandler);    
                //跨域访问安全策略事件;     
                dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loaderHandler);    
                //Http状态事件;     
                dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, loaderHandler);    
                //访问出错事件;     
                dispatcher.addEventListener(IOErrorEvent.IO_ERROR, loaderHandler);   
            }   
            private function loaderHandler(event:*):void   
            {   
                switch(event.type) {   
                    case Event.COMPLETE:   
                        trace("成功: ");  
                        if(completeFun!=null){
                            completeFun.call(null,event);
                        }
                        break;   
                    case Event.OPEN:   
                        trace("open: " + event);   
                        break;   
                    case ProgressEvent.PROGRESS:   
                        trace("progress: " + event);   
                        break;   
                    case SecurityErrorEvent.SECURITY_ERROR:   
                        trace("securityError: " + event);  
                        if(errFun!=null){
                            errFun.call(null);
                        }
                        break;   
                    case HTTPStatusEvent.HTTP_STATUS:   
                        trace("httpStatus: " + event);   
                        break;   
                    case IOErrorEvent.IO_ERROR:   
                        trace("ioError: " + event);   
                        if(errFun!=null){
                            errFun.call(null);
                        }
                        break;   
                    
                }  
            }  
    
        }
    }
    View Code

     调用该方法

    var url:String="";
                    var variables:URLVariables = new URLVariables();              
                    variables.ID = UserID;
                    
                    var http:HttpConnent=new HttpConnent();
                    http.url=url;
                    http.urlVariables=variables;
                    http.completeFun=customerNumberFun;
                    http.errFun=customerNumberErrFun;
                    http.gotoConn(URLRequestMethod.GET);
  • 相关阅读:
    apicloud图片上传
    APICloud上啦加载下拉刷新模块
    APICloud 获取缓存以及清除缓存(常用第三方方法)
    微信小程序跳转以及跳转的坑
    微信小程序,时间戳和日期格式互相转化
    微信小程序template使用
    APICloud开发小技巧(二)
    javax.persistence.TransactionRequiredException: Executing an update/delete query
    Spring的注解@Qualifier用法
    Spring @Service生成bean名称的规则
  • 原文地址:https://www.cnblogs.com/Anlycp/p/3849280.html
Copyright © 2011-2022 走看看