Для посылки данных нам следует использовать уже изученные методы и действия, а именно:
□ getUR L — загрузка Web-страницы;
□ loadMovie и loadMovieNum — загрузка внешнего клипа;
□ loadSound — загрузка внешнего звука.
Поскольку серверная программа — это обычный файл, находящийся на диске компьютера, на котором работает Web-сервер (как и Web-страница), формат вызова всех этих действий и методов не изменится. Есть, правда, единственное исключение, о котором мы сейчас поговорим.
Все перечисленные действия и методы поддерживают еще один необязательный параметр. Он передается самым последним в списке параметров, имеет строковый тип и определяет способ передачи данных , описывающий то, как данные кодируются перед передачей и как затем передаются. Какой способ выбрать, зависит от серверной программы, с которой мы собираемся "общаться".
Первый способ передачи данных называется get. При его использовании данные передаются Web-обозревателем Web-серверу как часть интернет-адреса. Чтобы передать данные этим способом, нам нужно будет передать с последним параметром описанным выше действиям и методам значение GET .
Например, пусть у нас имеется набор переменных, содержащих имя и пароль пользователя в строковом формате (они могут быть, скажем, введены этим самым пользователем в поля ввода):
name1 = Ivan
name2 = Ivanov
password = vanyusha
Тогда, чтобы отправить серверной программе program.exe, находящейся по адресу http://www.site.ru/bin/, эти данные методом get, мы напишем такое выражение:
getURL("http://www.site.ru/bin/program.exe", "_blank", "GET");
Обратим внимание на последний параметр этого метода. В нем передается строка "GET" — знак того, что данные должны быть переданы методом GET.
В результате Flash отправит Web-cepeepy следующий адрес (сами данные в нем выделены полужирным шрифтом):
http://www.site.ru/bin/program.exe ?name1=Ivan&&name2=Ivanov&password=vanyusha
Как видим, пересылаемые способом GET данные объединяются в пары "переменная" = "значение" , помещаются в самый конец интернет-адреса и отделяются от него вопросительным знаком. При этом одна пара от другой отделяется знаком "коммерческое и" (&). Все это достаточно просто и наглядно.
Получив этот запрос, Web-cepeep первым делом отделит отправленные данные от собственно интернет-адреса серверной программы (в нашем случае это program.exe). Далее он запустит саму эту программу (если она еще не запущена) и передаст ей данные.
Второй способ носит название POST . Данные с его помощью передаются также парами "переменная" = "значение" , но уже не в виде части интернет-адреса, а в виде так называемых дополнительных данных запроса. Опять же, Web-сервер выделит эти данные и передаст их серверной программе.
Чтобы реализовать способ POST , нам нужно будет передать соответствующему действию или методу с последним параметром строку "POST" :
_root.loadMovie("http://www.site.ru/bin/getswf.exe", "POST");
Это выражение выполнит отправку данных способом post. В результате его выполнения серверная программа вернет файл Shockwave/Flash, содержащий клип, который заменит в окне проигрывателя Flash основной фильм.
Все эти методы и действия хороши, пока нам не понадобится получить от серверной программы результат обработки переданных нами данных. В этом случае нам придется воспользоваться другими действиями и методами, которые будут описаны ниже.
Получение данных от серверной программы
Самый простой способ передать серверной программе данные и сразу же получить от нее результат их обработки — использовать действие loadVariabies или одноименный метод объекта movieClip . Это действие (метод) отправляет данные серверной программе и сразу же начинает ожидать получения результата. В принципе, с его помощью мы можем заставить приложение Flash загружать данные из текстового файла, находящегося на сервере или даже на диске нашего собственного компьютера.
Нужно сразу сказать, что серверная программа должна отправить данные, полученные в результате обработки, в виде строки, содержащей набор пар "переменная" = "значение" , отделенных друг от друга знаком & (так же кодируются данные, передаваемые способом GET ). Только тогда действие (метод) loadVariabies сможет правильно их обработать.
Получив от серверной программы данные, действие (метод) loadVariabies создает в указанном нами клипе соответствующие переменные, если они еще не созданы, и присваивает им принятые значения.
Читать дальше
Конец ознакомительного отрывка
Купить книгу