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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
По умолчанию loadVariables + POST + PHP

Пытаюсь передавать переменные из ролика php скрипту и получать ответ, делая var_dump($_POST) заметил, что передаются все переменные, кот. существуют в текущем клипе.

Возможно ли в 5 флеше передавать методом POST только те переменные, которые нужно, а не всё подряд ? Как это сделать по-человечески ? И как правильно потом принять переменные, то есть получить ответ, так как сейчас этот ответ как бы автоматически приходит ?

Передаю вот так:

loadVariables(_root.scriptName + "?" + myVars, this, "POST");

Старый 11.12.2003, 15:04
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 2  
sergsa

Регистрация: Jul 2003
Сообщений: 87
sendAndLoad попробуй
http://www.flasher.ru/tutorial/viewtut.php?id=135
тут описано более подробно, правда, там еще и привязка к MySQL, но ты используй что тебе нужно. Мне лично когда-то этот урок помог, может и тебе пригодится.

Старый 11.12.2003, 16:48
Krisha вне форума Посмотреть профиль Отправить личное сообщение для Krisha Найти все сообщения от Krisha
  № 3  
Krisha

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
Спасибо, делаю так:

в первом кадре ролика:

chaptersList = new Array();

getChaptersList();

function getChaptersList ()
{
Chapters = new LoadVars();
Chapters.action = 'getChaptersList';
Chapters.sendAndLoad(_root.scriptName, Chapters, 'POST');

Chapters.onLoad = function (success)
{
if (success)
{
this.chaptersList = unescape(this.chaptersList);
this.chaptersList = this.chaptersList.split('|');

for (i=0; i < this.chaptersList.length; i++)
{
_root.chaptersList[i] = this.chaptersList[i].split(',');
}
}
}
}

Данные приходят, но когда ролик переходит во второй кадр я массива _root.chaptersList еще не вижу, и понятно почему, потому, что данные еще не пришли. То есть еще не отработало событые onLoad.

Вопрос: Как сделать так, чтобы переход во второй кадр происходил только в том случае, если данные уже все получены ? Или может быть есть более красивые решения ?

Старый 11.12.2003, 17:05
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 4  
sergsa

Регистрация: Jul 2003
Сообщений: 87
Chapters.onLoad=fff

fff-имя функции которая что-то делает с полученными данными и не надо во 2 кадр переходить, я во всяком случае именно так делал

Старый 11.12.2003, 17:45
Krisha вне форума Посмотреть профиль Отправить личное сообщение для Krisha Найти все сообщения от Krisha
  № 5  
Krisha

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
я не совсем врубаюсь, как должна выглядеть эта функция, а главное как убедиться, что всё пришло и данные готовы, не мог бы ты привести пример ?

Старый 11.12.2003, 17:54
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 6  
sergsa

Регистрация: Jul 2003
Сообщений: 87
Chapter.onLoad=fff
function fff()
{
юзаем полученные данные(как?-это тебе виднее)
}

Функция будет вызвана, когда данные получены.

Старый 11.12.2003, 17:56
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 7  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
флэш передает ВСЕ перменные...абсолютно все!.....
__________________
Portfolio

Старый 11.12.2003, 18:34
Krisha вне форума Посмотреть профиль Отправить личное сообщение для Krisha Найти все сообщения от Krisha
  № 8  
Krisha

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
sergsa

К сожалению это мне не помогло. Событие onClipEvent (load) мувиклипа, который должен работать с пришедшими данными, происходит до того, как данные пришли и были обработаны.

при трейсе последовательность выглядит так:

- before getChaptersList
- inside getChaptersList
- movie loaded
- inside makeChaptersArray

Вот код 1 кадра:

chaptersList = new Array();

function getChaptersList ()
{
trace ("inside getChaptersList");

Chapters = new LoadVars();
Chapters.action = 'getChaptersList';
Chapters.sendAndLoad(_root.scriptName, Chapters, 'POST');

Chapters.onLoad = makeChaptersArray;
}

function makeChaptersArray ()
{
trace ("inside makeChaptersArray");

this.chaptersList = unescape(this.chaptersList);
this.chaptersList = this.chaptersList.split('|');

for (i=0; i < this.chaptersList.length; i++)
{
_root.chaptersList[i] = this.chaptersList[i].split(',');
}
}

trace ("before getChaptersList");
getChaptersList ();
stop();


Последний раз редактировалось Krisha; 11.12.2003 в 18:36.
Старый 11.12.2003, 19:32
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 9  
sergsa

Регистрация: Jul 2003
Сообщений: 87
function makeChaptersArray () - это и есть та ф-ция, которая выполняется когда данные получены, вставь сюда код который их обрабатывает и все. Или если хочеш, что-бы данные обрабатывались во 2-м кадре, останови этот ролик на первом а в тело ф-ции makeChaptersArray () вставь gotoAndStop(2)

Старый 11.12.2003, 20:07
Krisha вне форума Посмотреть профиль Отправить личное сообщение для Krisha Найти все сообщения от Krisha
  № 10  
Krisha

Регистрация: Aug 2002
Адрес: Limassol, Cyprus
Сообщений: 89
Отправить сообщение для Krisha с помощью ICQ
Ура!
Ёлы палы

В первом кадре ставим стоп, берем от скрипта данные, обрабатываем их и добавляем в функцию обработки gotoAndPlay(2);

Во втором кадре тоже ставим стоп и размещаем мувик, который будет работать с данными.

Заработало!
Биг сенкс!

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

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

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


 


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


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