Flash 加载外部数据-ajax与图片加载
发布时间:2020-12-15 17:46:55 所属栏目:百科 来源:网络整理
导读:1,ajax请求数据 /** * @desc 发动ajax请求 * @param url:url [data:ajax的data func:callback] * **/private function _ajax(ajaxurl:String,data="",callback="",method=URLRequestMethod.POST){var self = this;this._ajaxTimer = new Timer(1000,5);//请
1,ajax请求数据 /** * @desc 发动ajax请求 * @param url:url [data:ajax的data func:callback] * **/ private function _ajax(ajaxurl:String,data="",callback="",method=URLRequestMethod.POST){ var self = this; this._ajaxTimer = new Timer(1000,5);//请求超时时间 5秒 this._ajaxTimer.start(); this._ajaxLoader = new URLLoader(); this._ajaxLoader.dataFormat = URLLoaderDataFormat.TEXT; this._ajaxLoader.addEventListener(Event.COMPLETE,function(e){ self._ajaxComplete(e,callback); }); this._ajaxLoader.addEventListener(IOErrorEvent.IO_ERROR,function():void{}); this._ajaxLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,function():void{}); this._ajaxRequest = new URLRequest(ajaxurl); this._ajaxRequest.data =data; this._ajaxRequest.method = method; this._ajaxLoader.load(this._ajaxRequest); } /** * @desc 发动ajax请求结束的callback * @param e:event [ func:callback] * **/ private function _ajaxComplete(evt:Event,callback:Function){ try { this._ajaxTimer.stop(); if(!evt.target.data){ return; } var _jd = JSON.decode((evt.target.data)); this._jsonData =_jd; callback(_jd); } catch (e: * ) { //trace(evt.target.data);showDialog trace("ajax faild:"+e); } } 出现ajax faild的时候,也许是callback函数里的错误,而不是ajax的错误(巨坑) 使用POST请求后,IE下可能会出现请求为GET的时候,原因不明 2,加载图片 var _urlLoader:Loader = new Loader(); var _bm:Bitmap; _urlLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,function(e){ _bm = new Bitmap(e.target.content.bitmapData); _urlLoader.load( new URLRequest(url),new LoaderContext(true)); new LoaderContext(true)是为了主动在异步的的服务器上找crossdomain.xml,不设置就等着跨域的坑吧 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |