Книга: Macromedia Flash Professional 8. Графика и анимация

Использование объекта LoadVars

Использование объекта LoadVars

Существует другой способ получения данных от серверной программы — использование экземпляров объекта LoadVars. Этот объект предоставляет по сравнению с действиями loadVariable и loadVariableNum возможность несколько более строгого контроля над процессом обмена данными, хотя выполняет те же самые функции.

Прежде всего, нам нужно создать экземпляр объекта LoadVars:

myLoadVars = new LoadVars();

Затем мы просто создаем для него новые свойства, чьи имена совпадают с именами переменных, которые нужно передать серверной программе.

И разумеется, присваиваем этим свойствам нужные значения:

myLoadVars.namel = "Ivan";

myLoadVars.name2 = "Ivanov";

myLoadVars.password = "vanyusha";

Чтобы отправить данные серверной программе, используется метод send. Формат его вызова таков:

<Экземпляр объекта LoadVars>.send("<Интернет-адрес серверной программы>"[, "<Цель>", "GET|POST"]);

С первым параметром передается интернет-адрес серверной программы, которой посылаются эти данные. Со вторым параметром может быть передана цель, указывающая, куда будет выведен результат обработки этих данных (как правило, это Web-страница, сгенерированная серверным приложением). Третий необязательный параметр определяет способ отправки данных; если он не указан, выбирается способ POST.

Вот пример выражения, реализующего отправку данных с помощью экземпляра объекта LoadVars:

myLoadVars.send("http://site.ru/bin/program.exe", "_blank", "GET");

Для приема данных от серверной программы используется метод load. С единственным параметром этого метода передается интернет-адрес этой серверной программы или же путь к текстовому файлу, содержащему нужные данные. Что касается данных, то они, опять же, должны быть представлены в виде текстовой строки, состоящей из пар "переменная" — "значение", отделенных друг от друга знаком &.

Вот пример использования метода load:

myLoadVars.load("http://site.ru/bin/program.exe");

Метод sendAndLoad одновременно отправляет серверной программе данные и получает от нее результат их обработки. Формат вызова этого метода:

<Экземпляр объекта LoadVars, отправляющий данные>. sendAndLoad ("<Интернет-адрес серверной прогрраммы>",

<Экземпляр объекта LoadVars, принимающий данные> [, "GET | POST"]);

Этот метод вызывается для того экземпляра объекта LoadVars, который должен отправить данные. С первым параметром передается интернет-адрес серверной программы, которая должна их получить, со вторым — ссылка на экземпляр объекта LoadVars, который получит результат. Третий параметр определяет способ отправки данных; если он не указан, выбирается способ POST.

Например:

mySendVars.sendAndLoad("http://site.ru/bin/program.exe", myLoadVars);

Для того чтобы узнать, получены ли данные, нужно обработать событие load объекта LoadVars, возникающее после получения всех данных. Функция-обработчик этого события должна принимать один логический параметр, обозначающий, успешно ли получены данные (значение true) или нет (false).

Вот пример функции-обработчика этого события:

myLoadVars.onLoad = function(isSucceed) {

if (isSucceed) {

_root.gotoAndStop(frameNumber);

}

}

Свойство loaded объекта LoadVars возвращает значение true, если данные были успешно получены, и false в противном случае. Если операция приема данных не была запущена, возвращается значение undefined.

Объект LoadVars предоставляет также еще два метода, которые можно использовать для отображения процесса загрузки данных. Метод getBytesLoaded возвращает количество загруженных байт данных. А метод getBytesTotal возвращает общий объем загружаемых данных в байтах. Оба эти метода возвращают значение undefined, если операция загрузки данных не была запущена или еще реально не началась. Метод getBytesTotal также возвращает значение undefined, если Web-сервер, под управлением которого работает серверная программа, не сообщил размер передаваемых данных.

Оглавление книги


Генерация: 1.305. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз