Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Запускаем swf get запросом все хорошо, но Post переменные не видит (http://www.flasher.ru/forum/showthread.php?t=174089)

formid 17.01.2012 19:19

Запускаем swf get запросом все хорошо, но Post переменные не видит
 
Все просто, но не работает.
Если я обращаюсь к ../Test.swf?n=10&m=15 , то могу получить эти данные с помощью
Код AS3:

stage.loaderInfo.parameters['n']
stage.loaderInfo.parameters['m']

а если те же переменные посылать запросом Post , то во флешке их не видно. как быть в такой ситуации?

Добавлено через 13 минут
Причем если принимающая флешка лежит на сервере и отправляющая рядом то не работает. А если отправляющая запущена на моей машине в дебаг моде, то она отправляет POST заррос (хотя строка запроса похожа на GET) и флеха на сервере его принимает... что делать? даже гугл не смог решить проблему (

GBee 17.01.2012 21:08

Нужно больше кода.

formid 18.01.2012 01:50

без проблем, вот по такому запросу http://www.malesya.ru/test/IncomeTest.swf?get=1&post=1 лежит файл который просто отображает то что приходит, содержание следующее
Код AS3:

                        var flashVars:Object = stage.loaderInfo.parameters as Object;
 
                        var tf:TextField = new TextField;
                        addChild(tf);
                        tf.htmlText = '';
                        tf.autoSize = TextFieldAutoSize.LEFT;
                        tf.multiline = true;
                        for (var key:* in flashVars){
                                tf.htmlText += '<b>' + key + ':</b>' + flashVars[key] + '';
                        }

а вот тут лежит посылающий файл http://www.malesya.ru/test/sendTest.swf
со следующим содержанием (где hh,poster и key просто текстфилды типа инпут)
Код AS3:

var variables:URLVariables = new URLVariables;
                        variables.hh = hh.text;// gameModel.getTextCurrentGame(n);
                        variables.poster = poster.text;
                        variables.key = key.text;
 
                        var req:URLRequest = new URLRequest('http://www.malesya.ru/test/IncomeTest.swf');
 
                        req.data = variables;
                        req.method = "POST";
 
                        try{
                                navigateToURL(req);
                        }catch (e:Error) {
                                trace(e.message);
                        }

Добавлено через 6 минут
так вот если мы зайдем по второй ссылке и кликнем на серый прямоугольник, то отправится запрос и мы увидим пустую страницу. А если то же самое сделать из дебаг мода, то мы увидим входящие данные hh:hh , poster:poster, key:key .

полные исходники файлов http://www.malesya.ru/test/sendTest_Main.txt и http://www.malesya.ru/test/IncomeTest_Main.txt

crazyone 18.01.2012 02:16

Судя по описанию в документации, в loaderInfo.parameters не могут попасть данные из POST-запроса.
Поэтому твою задачу нужно решать другим способом - передавать данные через строку запроса (т.е. использовать метод GET), LocalConnection, SharedObject или серверные скрипты.

BuKT 18.01.2012 10:07

navigateToURL(req) - Это всегда гет. Используйте URLLoader. И не забудьте uRLLoaderInstance.dataFormat = URLLoaderDataFormat.VARIABLES;

formid 18.01.2012 12:35

navigateToURL(req) - такой какой указано в req.format , и запросто передает POST например в php. А вот URLLoader обязывает сделать запрос строкой пар/значений.

Ну и видимо моя задача ( при запуске передать кучу параметров и файлов в swf из пхп) неразрешима :(

goodguy 18.01.2012 12:40

Зачем изобретать велосипед? Все делают через URLRequest и не парятся =)

BuKT 18.01.2012 12:52

Простите, а вы куда запрос делаете?
Код AS3:

var req:URLRequest = new URLRequest('http://www.malesya.ru/test/IncomeTest.=======>swf<======');


crazyone 18.01.2012 12:52

Цитата:

Сообщение от formid (Сообщение 1057655)
Ну и видимо моя задача ( при запуске передать кучу параметров и файлов в swf из пхп) неразрешима :(

А как ты хотел передавать файлы в свф при запуске? Ну и до кучи - передавать данные с сервера на клиент при помощи POST-запроса - это оригинально.

Для передачи параметров из пхп в свф нужно использовать флешварс. А если очень-очень много переменных и во флешварс не вмещается - подгружать их из флешки.

formid 18.01.2012 14:12

Задача была такая - юзер вводит в пхп огромный текст, там он парсится, сохраняется в бд . Далее сам текст вместе с полученными(в результате парсинга) параметрами должен передаваться во флеш.
Я пошел немного другим путем. Сохраняю весь текст в некотором файле name.txt и передаю во флеш все параметры и адрес этого файла и флеш уже сам его подгружает.
Пока вроде бы такой вариант устраивает. Спасибо всем за беспокойство.


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

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