Главная > action script 3 > apiLoader — помощник в загрузке данных JSON

apiLoader — помощник в загрузке данных JSON

Помощник в организации запросов в формате JSON

package main
	{
	import flash.events.*;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLRequest;
	import flash.net.URLVariables;
	import flash.net.URLRequestMethod;
	import flash.system.Security;
	import com.adobe.serialization.json.JSON;
	public class api_loader
		{
		public var myXML:XML;
		private var defUrl:String = 'http://site.ru/api.php';
		private var req:URLRequest;
		private var loader:URLLoader;
		public var dataVars:XML;
		public var appParent;
		public const GET_GAME_DATA = 1;
		public const USER_LOGIN = 2;
		public const BUY_WORK = 3;
		public const CHECK_USER_BAN = 1000;
		private var myCallback:Function;
		function api_loader(owner)
			{
			this.appParent = owner;
			loader = new URLLoader();
			loader.addEventListener(Event.COMPLETE, completeHandler);
			}
		public function action(my_url:String, sendVars:URLVariables, callback:Function):Boolean
			{
			var url:String;
			if (my_url!='')
				{
				url = my_url;
				}
			else
				{
				url = defUrl;
				sendVars.rnd = Math.random();
				}
			req = new URLRequest(url);
			req.data=sendVars;
			req.method = URLRequestMethod.POST;
			trace('REQ: '+url);
			trace('VARS: '+sendVars);
			try
				{
				myCallback = callback;
				loader.load(req);
				}
			catch (error:Error)
				{
				trace("Unable to load URL: " + error);
				return false;
				}
			return true;
			}
		private function completeHandler(event:Event):void
			{
			var loader:URLLoader = URLLoader(event.target);
			var o:Object = JSON.decode(loader.data);
			trace(loader.data);
			this.myCallback(o);
			}
		}
	}

Использование:

var apiLoader = new api_loader();
var sendVars:URLVariables=new URLVariables();
sendVars.cmd = '_user';
apiLoader.action('',sendVars, function(data){
     trace('calback data '+data);
})

первый параметр — это не дефолтный урл, дефолтный указан в самом классе
второй — список параметров в формате URLVariables
третий — callback функция, которая выполнится после выполнения запроса

action script 3 , , , , ,

  1. Комментариев пока нет.
  1. Трекбеков пока нет.