加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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,不设置就等着跨域的坑吧

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读