(например, если произошел обрыв связи или если серверная программа перегружена другими запросами). И когда именно Flash получит результат, мы предугадать не можем.
Но если мы не можем предсказать время, в течение которого приложение получит внешние данные, то мы можем отследить сам момент их получения. Для этого достаточно обработать событие
С учетом сказанного перепишем приведенный выше сценарий:
_root.onData = function() {
_root.gotoAndStop(frameNumber);
}
_root.loadVariables('http://site.ru/bin/program.exe');
Вот теперь он будет работать.
Использование объекта LoadVars
Существует другой способ получения данных от серверной программы — использование экземпляров объекта
Прежде всего, нам нужно создать экземпляр объекта
myLoadVars = new LoadVars();
Затем мы просто создаем для него новые свойства, чьи имена совпадают с именами переменных, которые нужно передать серверной программе.
И разумеется, присваиваем этим свойствам нужные значения:
myLoadVars.namel = 'Ivan';
myLoadVars.name2 = 'Ivanov';
myLoadVars.password = 'vanyusha';
Чтобы отправить данные серверной программе, используется метод send. Формат его вызова таков:
С первым параметром передается интернет-адрес серверной программы, которой посылаются эти данные. Со вторым параметром может быть передана цель, указывающая, куда будет выведен результат обработки этих данных (как правило, это Web-страница, сгенерированная серверным приложением). Третий необязательный параметр определяет способ отправки данных; если он не указан, выбирается способ
Вот пример выражения, реализующего отправку данных с помощью экземпляра объекта
myLoadVars.send('http://site.ru/bin/program.exe', '_blank', 'GET');
Для приема данных от серверной программы используется метод
Вот пример использования метода
myLoadVars.load('http://site.ru/bin/program.exe');
Метод
Этот метод вызывается для того экземпляра объекта
Например:
mySendVars.sendAndLoad('http://site.ru/bin/program.exe', myLoadVars);
Для того чтобы узнать, получены ли данные, нужно обработать событие
Вот пример функции-обработчика этого события:
myLoadVars.onLoad = function(isSucceed) {
if (isSucceed) {
_root.gotoAndStop(frameNumber);
}
}
Свойство