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

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

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

Регистрация: Aug 2012
Сообщений: 13
Question отправка post на php , формирование xml, получение сформировавшейся xml.

Доброго времени суток, помогите пожалуйста с проблемой, уже везде обыскал...
В Action скрипте отправляю Post запрос в файл php, там проверяется. если пост запрос был, формируется xml на этой же странице php. Как в Action Скрипте тут же получить xml?
Пробую вот так - не получается.
Код AS3:
postIt ();
//отправление данных на скрипт
function postIt ():void
{
	var loader:URLLoader = new URLLoader();
	var req:URLRequest = new URLRequest('http://sait.ru/set_bd.php');
	var vars:URLVariables = new URLVariables();
	req.method = URLRequestMethod.POST;
	vars['name'] = 'planetary';
	req.data = vars;
	loader.load (req);
	loader.addEventListener (Event.COMPLETE, onSended);
	trace ('Post отправлен');
}
// запуск функции .которая загружает XML
function onSended (e:Event):void
{
	trace ('ok');
	loadIt ();
}
//Загрузка ХМЛ
function loadIt ():void
{
	var loader:URLLoader=new URLLoader();
	loader.load (new URLRequest('http://sait.ru/set_bd.php'));
	loader.addEventListener (Event.COMPLETE,onLoadComplete);
	trace ('Файл загаружен');
}
// По завершению загрузки вывести данные
function onLoadComplete (e:Event):void
{
		var xml:XML = new XML(e.target.data);
trace (xml);
 
	trace ('ХМЛ получен');
}
PHP файл:
PHP код:
<?php
if (isset($_POST[name])){
echo 
"<?xml version='1.0' encoding='UTF-8' ?>";
echo 
"<response>";
echo 
"<block>";
echo 
"<name>Tut name</name>";
echo 
"</block>";
echo 
"</response>";
}
?>
Помогите пожалуйста

Старый 16.08.2012, 01:41
MINASTIS вне форума Посмотреть профиль Отправить личное сообщение для MINASTIS Посетить домашнюю страницу MINASTIS Найти все сообщения от MINASTIS
  № 2  
Ответить с цитированием
MINASTIS
 
Аватар для MINASTIS

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Я могу ошибаться, но не проще создавать новую xml файл с помощью php, и после уже получать из него информацию?

Старый 16.08.2012, 01:45
planetary вне форума Посмотреть профиль Отправить личное сообщение для planetary Найти все сообщения от planetary
  № 3  
Ответить с цитированием
planetary

Регистрация: Aug 2012
Сообщений: 13
Благодарб за ответ. Извините, может я не вкурсе, а как её создать? И я расчитываю сделать игру. Тоесть будет потом сто тысяч xml файлов?

Старый 16.08.2012, 01:52
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 4  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Сразу на первый лоадер вешайте обработчик onLoadComplete. Зачем там еще один запрос делать?

Старый 16.08.2012, 02:11
planetary вне форума Посмотреть профиль Отправить личное сообщение для planetary Найти все сообщения от planetary
  № 5  
Ответить с цитированием
planetary

Регистрация: Aug 2012
Сообщений: 13
Цитата:
Сообщение от maxkar Посмотреть сообщение
Сразу на первый лоадер вешайте обработчик onLoadComplete. Зачем там еще один запрос делать?
Подскажите пожалуйста, как это сделать. Исправьте код, иначе я не пойму.

Добавлено через 7 минут
Делаю так:
Код AS3:
postIt ();
//отправление данных на скрипт
function postIt ():void
{
	var loader:URLLoader = new URLLoader();
	var req:URLRequest = new URLRequest('http://online-fishing.ru/modules/mod_igra/set_bd.php');
	var vars:URLVariables = new URLVariables();
	req.method = URLRequestMethod.POST;
	vars['name'] = 'planetary';
	req.data = vars;
	loader.load (req);
	loader.addEventListener (Event.COMPLETE, onLoadComplete);
	trace ('Post отправлен');
 
}
//вывести XML
function onLoadComplete (e:Event):void
{
		var xml:XML = new XML(e.target.data);
trace (xml);
 
	trace ('ХМЛ получен');
}
Пишет ошибку "TypeError: Error #1088: Разметка в документе, следующим за корневым элементом, должна быть в правильном формате.
at game_fla::MainTimeline/onLoadComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()"

Старый 16.08.2012, 02:36
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Неправильный xml отдается. Трейсьте e.target.data до попытки создания xml и думайте (ну или сюда можно кинуть), почему он не валидный.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 16.08.2012, 12:25
planetary вне форума Посмотреть профиль Отправить личное сообщение для planetary Найти все сообщения от planetary
  № 7  
Ответить с цитированием
planetary

Регистрация: Aug 2012
Сообщений: 13
всмысле? Как это сделать? Измените пожалуйста код. Я плохо знаю actionscript

Старый 16.08.2012, 12:39
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 8  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Код AS3:
function onLoadComplete (e:Event):void
{
		//var xml:XML = new XML(e.target.data);
trace (e.target.data);
 
	trace ('ХМЛ получен');
}
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 16.08.2012, 12:43
planetary вне форума Посмотреть профиль Отправить личное сообщение для planetary Найти все сообщения от planetary
  № 9  
Ответить с цитированием
planetary

Регистрация: Aug 2012
Сообщений: 13
выдаёт
<?xml version='1.0' encoding='UTF-8' ?><response><block><name>Tut name</name></block></response>
посути так и должно быть.

Старый 16.08.2012, 12:50
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 10  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
данный xml является валидным.
Код:
<?xml version='1.0' encoding='UTF-8' ?><response><block><name>Tut name</name></block></response>
Если ругается-значит, не то приходит.
http://www.w3schools.com/dom/dom_validate.asp
Валидаторов в сети много
попробуйте то же самое с урлом сделать, а не с текстом.

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

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

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


 


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


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