как получить в ответ xml при запросе URLRequestMethod.POST?

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
buket
Сообщения: 17
Зарегистрирован: 31 дек 2009, 18:52

как получить в ответ xml при запросе URLRequestMethod.POST?

Сообщение buket »

может не коректно задал вопрос но суть така: есть некоторая перемнная id которая передается на сервер URLRequestMethod.POST, сервер обрабатывает и если в базе естьтакой id то фомирует в ответ xml, как его получиь в флеше если запрос проходит? вот actiotscript которые передает переменную на сервер(еслиможно то пример реализации покажите, заранне спасибо)

Код: Выделить всё

send();

function send():void{
	var variables:URLVariables = new URLVariables();
	variables.id = "1452597";
	
	var request:URLRequest = new URLRequest("http://localhost/test2.php"); //Insert your own URL here.
	request.method = URLRequestMethod.POST;
	request.data = variables;
	var loader:URLLoader = new URLLoader();
	loader.dataFormat = URLLoaderDataFormat.VARIABLES;
	loader.addEventListener(Event.COMPLETE, completeHandler);
	try{
		loader.load(request);
	}
	catch (error:Error) {
		trace("Unable to load URL");
	}
}
function completeHandler(event:Event):void{
	var variables:URLVariables = new URLVariables(event.target.data);
	var msg = variables.msg;
	if(msg=="true"){
		trace("Done!");
	} else{
		trace("Error: "+msg);
	}
}
вот так я получаю xml который возращает сервер

Код: Выделить всё

var xmlData:XML;
var classDataLoader:URLLoader = new URLLoader();
var classreqDataLoader:URLLoader = new URLLoader();
 
//loading xml data
classDataLoader.load(new URLRequest("http://localhost/test2.php"));
classDataLoader.addEventListener(Event.COMPLETE,loadCompleteClass);


//function extracting data from xml
function loadCompleteClass(event:Event):void 
{
	xmlData = new XML(classDataLoader.data);
	for (var i in xmlData.log) 
	{
		cbClasses.addItem({label:xmlData.log.title[i]});
		}
	}
 
//EventListeners for combo box
cbClasses.addEventListener(Event.CHANGE, showReq);
 
//function populating text area
function showReq(event:Event):void 
{
	var itemSelected:Number = cbClasses.selectedIndex;
	taReq.text = xmlData..post[itemSelected];
	}
как свзать их, чтобы если первый кусок скрипта возвращает false то не выполнялся второй кусок скрипта, если true то выполнялся соответственно
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: как получить в ответ xml при запросе URLRequestMethod.POST?

Сообщение Александр »

Это слушатель когда нужные тебе данные были переданы?

Код: Выделить всё

loader.addEventListener(Event.COMPLETE, completeHandler);
Тогда в функции completeHandler и проверяй полученный ответ. Если нужно обработать XML, то делай это примерно так как сделано в функции loadCompleteClass.

Код: Выделить всё

xmlData = new XML(loader.data);
Выглядит так, как-будто ты второй код какой-то левый прикопировал сюда...
buket
Сообщения: 17
Зарегистрирован: 31 дек 2009, 18:52

Re: как получить в ответ xml при запросе URLRequestMethod.POST?

Сообщение buket »

да слушатель, коды я делал отдельно, теперь функционал надо совместить, я начинащий по этому так кривоватенько :roll:
Ответить