Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Корректная обработка информации полученной из PHP (http://www.flasher.ru/forum/showthread.php?t=104600)

Beta-tester 28.11.2007 17:20

Корректная обработка информации полученной из PHP
 
Здравствуйте!
Вот пришло врямя оптимизации и переписыванию старого кода. И вот тут появился вот такой вопрос:

Есть скрипт ПХП. После того как он отработал он выдаёт результат:
echo"var1=$var1&var2=$var2$...varn=$varn&";

Вызывющая его флэшка должна полностью получить всю информацию и только после этого обработать её. Раньше делал так проверял по интервалу или на EnterFrame if(varX!=undefined and varX!=""){

Соответственно когда условие выполниться можно обрабатывать. НО! "меня терзают смутные сомнения..." (C)
Вобщем стал я задумываться, как более качественно/надёжно/оптимизированно обыграть данную ситуацию.
Прошу совета более опытных коллег! Заранее спасибо!

P.S. Использую Flash 2004(7)! В данный момент не могу использовать более старший!

iNils 28.11.2007 17:24

Класс LoadVars и событие onLoad

Beta-tester 28.11.2007 17:31

Цитата:

Сообщение от iNils
Класс LoadVars и событие onLoad

спасибо! пощёл копать инфу на тему.

P.S. Делал по старинке loadVariables("script.php","_root", "POST");

Блин, при переходе на что-то новое всегда появляются трудности.

Вот чуточку переделанный код из хэлпа:
Код:

var send_lv:LoadVars = new LoadVars();
    send_lv.sendAndLoad("script.php", result_lv, "POST");
    var result_lv:LoadVars = new LoadVars();
    result_lv.onLoad = function(success:Boolean) {
    if (success) {
                trace("Соединение ОК!");
    } else {
            trace("Ошибка соединения с сервером.");
    }
}

Не работает. Почему, не могу понять. Ни сообщения не вылетают(trace), ни присваиваются значения переменным, как при loadvariables
iNils
Что-то я сегодня простых вещей понять не могу, задаю глупые ответы и не вижу свои ошибки.
Ткни, пожалуйста, туда, где я что-то не замечаю.

Вот кое-что исправил:
Код:

var inf:LoadVars = new LoadVars();
inf.onLoad = function(success:Boolean):Void  {
        if (success) {
                trace(var1);
        } else {
                trace("connection error");
        }
};
inf.sendAndLoad("script.php", inf, "POST");

Выводит undefined. Где ошибка?

iNils 28.11.2007 19:01

Давайте вы будет править последнее сообщение, а не писать подряд несколько.
Попробуйте
Код:

trace(this.var1)

Beta-tester 28.11.2007 19:26

Цитата:

Сообщение от iNils
Давайте вы будет править последнее сообщение, а не писать подряд несколько.

Прошу прощения.


Цитата:

Сообщение от iNils
Попробуйте
Код:

trace(this.var1)

Работает. Огромное спасибо!
А вот так с рута можно к полученной переменной обратиться:
_root.inf.var1 ?


Добавлено--------------------------------------------------------

Исправил одном своём муве код на новый. Всё работает. Огромное спасибо! Как удобно + более надёжно, чем то как я делал.

Тут сразу появилась мысль, может и для картинок/файлов стоит использовать что-то аналогичное, а не своими силами? Если, да, то что лучше?

Ostgur 28.11.2007 22:14

есть класс MovieClipLoader для картинок ;)


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

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