Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.01.2010, 15:31
buket вне форума Посмотреть профиль Отправить личное сообщение для buket Найти все сообщения от buket
  № 1  
Ответить с цитированием
buket
 
Аватар для buket

Регистрация: Sep 2009
Сообщений: 32
По умолчанию как получить в ответ xml при запросе URLRequestMethod.POST?

может не коректно задал вопрос но суть така: есть некоторая перемнная id которая передается на сервер URLRequestMethod.POST, сервер обрабатывает и если в базе естьтакой id то фомирует в ответ xml, как его получиь в флеше если запрос проходит? вот actiotscript которые передает переменную на сервер(еслиможно то пример реализации покажите, заранне спасибо)
Код AS3:
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 который возращает сервер
Код AS3:
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 то выполнялся соответственно


Последний раз редактировалось buket; 06.01.2010 в 15:35.
Старый 06.01.2010, 17:05
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 2  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
просто.
во втором скрипре вот это:
Код AS3:
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);
поместите в отдельную функцию. и если true - то вызываете ее.

Старый 06.01.2010, 17:37
buket вне форума Посмотреть профиль Отправить личное сообщение для buket Найти все сообщения от buket
  № 3  
Ответить с цитированием
buket
 
Аватар для buket

Регистрация: Sep 2009
Сообщений: 32
не совсем меня поняли, мне надо чтобы именно с тем ид который в первом скрипте передается серверу брались данные соответствующие ему, а так получится что он запрос сделает и если true то выполняется второй скрипт а он берет все данные из базы, а мне надо именно данные с тем ид который отправляется серверу, вообще както так. сори что корявенько описал суть

Старый 06.01.2010, 18:16
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 4  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
ну тут два пути
1 - либо сделать так что бы сервер отдавал нужную часть (но это наверно нужно php хорошо знать, или еще там что то...)

либо так же как я и описал. только при ответе - true - передаете туда id - и выдираете из ХМЛ те данные , которые соответствуют этому id

Старый 06.01.2010, 18:42
buket вне форума Посмотреть профиль Отправить личное сообщение для buket Найти все сообщения от buket
  № 5  
Ответить с цитированием
buket
 
Аватар для buket

Регистрация: Sep 2009
Сообщений: 32
по поводу 1 то на php я реализовал, когда пхп получает от флш ид то он выдирает из базы соответствующие данные этому ид и выводит в виде xml.
а вот по поводу 2 с большим колитвом данных будет большая нагрузка, не вариант

Старый 06.01.2010, 18:56
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 6  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
Мне кажется вам нужно, что бы в эту функцию сразу и приходил в ответ XML:

Код AS1/AS2:
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);
	}
}
а у вас приходит какое то булево значение я так понимаю

(т.е. на сервере к примеру, если какие то данные по id найдены - серверный сценарий отправляет ХМЛ , в противном случае к примеру пустую строку)

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.