AS3.0 网络加载Http请求工具类
2017-03-30 11:39
295 查看
// ActionScript file
package anUtil { import flash.display.Sprite; import flash.events.Event; import flash.events.IEventDispatcher; import flash.events.ProgressEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.net.URLVariables; public class UrlUtil extends Sprite { private var _Tag:String; /** * 用于进行URL访问, * @param Url:URL连接 * @param Mode:交互的方式,POST或者GET * @param data:传过来的参数 * @param Tag:标志,确定调用者身份 * @retrun boolean:是否成功执行 * */ public function UrlUtil(Url:String,Mode:String,data:Object,Tag:String) { Main.loadingTag++; _Tag=Tag; switch(Mode) { case "Login" : Login(Url,Mode,data); break; case "Get" : Get(Url,Mode); break; case "POST" : Post(Url,Mode,data as URLVariables); break; } } private function Get(Url:String,Mode:String):void{ var loader:URLLoader = new URLLoader(); //添加监听器 configureListeners(loader); var request:URLRequest=new URLRequest(Url); request.method = URLRequestMethod.GET; try { loader.load(request); } catch (error:Error) { trace("URL-GET请求失败,error:"+error.message); } } private function Post(Url:String,Mode:String,variables:URLVariables):void{ var loader:URLLoader = new URLLoader(); //添加监听器 configureListeners(loader); var request:URLRequest=new URLRequest(Url); request.method = URLRequestMethod.POST; request.data=variables; try { loader.load(request); } catch (error:Error) { trace("URL-POST请求失败,error:"+error.message); } } private function Login(Url:String,Mode:String,data:Object):void{ var loader:URLLoader = new URLLoader(); //添加监听器 configureListeners(loader); var request:URLRequest=new URLRequest(Url); request.method = URLRequestMethod.POST; //建立URLVariables对象 var variables:URLVariables = new URLVariables(); //需要传递的参数 variables.systemID = data.systemID; variables.cipher = data.cipher; request.data=variables; try { loader.load(request); } catch (error:Error) { trace("URL-POST请求失败,error:"+error.message); } } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); } private function completeHandler(event:Event):void{ // trace("加载完成"); var e:MyEvent=new MyEvent("UrlLoaderComp"); e.string=URLLoader(event.target).data; e.tag=_Tag; dispatchEvent(e); // trace("测试"+e.tag+"aaa"+e.string); } private function progressHandler(event:ProgressEvent):void { var i:Number=Math.round(event.bytesLoaded/event.bytesTotal*100); // trace("已加载字节:" + event.bytesLoaded + " 总字节: " + event.bytesTotal+" 当前进度:"+i+"%"); } } }
相关文章推荐
- Android-async-http 网络请求框架(工具类)
- Android常用工具类之Http网络请求的工具类
- 网络请求工具类HttpUtil
- Android 自定义网络加载工具类 HttpURLConnectionUtils
- iOS9 无法加载http网络请求的问题
- HttpURLConnection 单独封装网络请求工具类
- 利用线程池实现Android客户端的http网络数据请求工具类
- 关于HttpUrlConnection请求网络加载证书与不加载证书的区别
- Android HttpUtils网络请求工具类的实现
- httpCilent请求网络 及 StreamUtils 工具类转换
- Android 原生HttpURLConnection网络请求工具类(get post)
- Android网络请求,Get方式请求,HttpURLConnection请求工具类
- 利用线程池实现Android客户端的http网络数据请求工具类
- HttpClient与HttpURLConnection网络请求工具类
- HttpUtils 用于进行网络请求的工具类
- HttpUrlConnection 网络请求工具类
- xml解析,httputils网络请求,imageloder图片加载
- HttpURLConnection网络请求工具类
- 网络请求应该是HttpUtil 工具类
- java http请求的get和post方法工具类