Flash 加载外部数据-ajax与图片加载





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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值