![]() |
XML.send()
Люди, помогите глупому чайнику!
Как работает функция XML.send(URL), что она посылает по этому самому URL. И еще если можете дайте самый простенький примерчик (или ссылку) Как посредством этой функции связать Flash и серверный скрипт (язык безразличен, попробую понять). PS: Просьба не издеваться. :) |
посылает твой объект. на сервере ты этот объект обрабатываешь как и любое другое что пришло, ты ведь когда из формы что-либо постишь скрипту знаешь как это обрабатывать. или нет ? :)
вообщем получаешь объект, парсишь его ну и все нормально. |
Ну хорошо...
Ладно, покажу как я это делал, подскажите, в чем я неправ:
1) На кнопку в Flash вешаю следующий код: loginXML = new XML(); loginElement = loginXML.createElement("LOGIN"); //username и password имена текстовых полей loginElement.attributes.username = username; loginElement.attributes.password = password; loginXML.appendChild(loginElement); loginXML.send("http://localhost/php/test.php"); 2) Вот пример соответсвующего PHP скрипта (в нем я пытаюсь посмотреть все переменные переданные скрипту или методом POST или методом GET, и вывожу эти переменные в файл test_out.txt): <? $file = fopen('test_out.txt', 'w'); $k=@array_keys($HTTP_POST_VARS); fputs($file, 'HTTP_POST_VARS'. "\n"); for($i=0; $i<count($k); $i++) { fputs($file, $k[$i] . ' => ' . $HTTP_POST_VARS[$k[$i]]); } $k=@array_keys($HTTP_GET_VARS); fputs($file, 'HTTP_GET_VARS'); for($i=0; $i<count($k); $i++) { fputs($file, $k[$i] . ' => ' . $HTTP_GET_VARS[$k[$i]]); } fclose($file); ?> Ну пусто в файле :(( Что же тогда Flash передает, где объект то? Кстати отвечать я Flash'у научился , а вот принять от него что-либо пока не могу, а жаль... |
Ну хотя бы...
Персонально Белому Орлу, просьба. Пожалуйста нарисуй хоть какой нибудь скрипт, который мог бы проанализировать вышеуказанные переменные user и password (переданные как атрибуты элемента LOGIN (см. выше). Пожалуйста! А то всю голову изломал, уже побывал даже www.actionscript.com :(
|
сейчас под рукой у меня нет рабочего примера. все предельно просто:
у тебя есть хмл объект. у него есть имя. когда ты говоришь myXML.send(url); POST'oм идет строка myXML, но по формату это именно СТРОКА. это все равно что myXML='tralala'; В скрипте (на сервере) создаешь новый ХМЛ-объект. Как именно зависит от скрипта (ASP, JSP, CGI, PHP) , у них у всех различные парсеры, поэтому и методы создания различны. В методах объекта есть метод "загрузить". В качестве аргумента ты можешь поставить или имя файла (урл *.хмл) или хмл-строку. Вот нашу строку туда и вставляешь. |
Разобрался!
Ну во первых, большое спасибо whiteagl'у (пример конечно не привел), но навел на мрачные размышления ;) . А причина была в следующем: Вместо Publish Preview -> HTML я тестировал сцену сразу Control -> Test Movie. А в этом случае POST' ом ничего не передается. Ну а собственно строку я извлек следующим способом (в Perl):
open(F, ">xml_str.txt"); @params = $query->param(); $xml_str = "$params[0]=" . $query->param($params[0]); print F $xml_str; close(F); Может, кто знает другой способ? |
Вот как правильно...
На Perl:
print "Content-type text/html\n\n"; sysread(STDIN, $xml, $ENV{'CONTENT_LENGTH'}); # теперь в $xml то что нам надо И ничего более.... |
| Часовой пояс GMT +4, время: 01:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.