Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Работа с переменными (http://www.flasher.ru/forum/showthread.php?t=122830)

MaxL 19.03.2009 01:07

Работа с переменными
 
Есть html страница, которая генерируется на основе post запроса. В ней есть переменная типа &varible=dynamik_body (под разный запрос разное значение переменной). Как отправить данные post через getURL я знаю, как загрузить переменную с страницы я тоже знаю (я имею виду loadVariables). Но как отправить данные а потом загрузить эти переменные?

З.Ы. Ограничимся кодом, использую другую программу для создания Flash.
З.Ы.ы. Не говорите что используй get, не та ситуация.

Fatality 19.03.2009 03:14

Какой getURL, какой loadVariables ? Заканчивайте жить в каменном веке. Времена Flash 5 давно ушли. Для отправки и загрузки переменных, существует класс LoadVars:
Код AS1/AS2:

var LV:LoadVars = new LoadVars();
LV.anyVariable = "текст";
LV.sendAndLoad("http://sitename.com/script.php",LV,"POST");
LV.onLoad = function(done:Boolean) {
        if (done) {
                trace(this.variable);
        }
};

Этот код отправит переменную anyVariable серверному скрипту и загрузит с него переменные.

gmaneye 19.03.2009 13:59

ток вообще то надо писать сначала функцию обработки onLoad а потом уже load,а то ничё не получится, с этой проблемой я уж встречался
кстати посоветую если переменных много и они разные тогда пользуйтесь XML

qazwsx 19.03.2009 14:28

В 99.999999999% случаев все получится.

Fatality 19.03.2009 16:27

Цитата:

ток вообще то надо писать сначала функцию обработки onLoad а потом уже load,а то ничё не получится
Получится. Я зделал это умышленно, чтобы кроме anyVariable не отправлять еще и переменную onLoad. А вобще для загрузки и отправки лучше использвать разные LoadVars, просто не хотел человека смущать.
Код AS1/AS2:

var SV:LoadVars = new LoadVars();
var LV:LoadVars = new LoadVars();
SV.anyVariable = "текст";
LV.onLoad = dataLoad;
SV.sendAndLoad("http://sitename.com/script.php",LV,"POST");
function dataLoad(done:Boolean) {
        if (done) {
                trace(this.variable);
        }
};


qazwsx 19.03.2009 16:36

Ага чтобы лишнего не отправлять... Только зачем вы onLoad используете?)

Fatality 19.03.2009 16:58

Цитата:

Только зачем вы onLoad используете?)
Для отслеживания окончания загрузки разумеется !

qazwsx 19.03.2009 17:09

Почему не onData?

iNils 19.03.2009 17:26

Цитата:

Сообщение от qazwsx (Сообщение 806931)
Почему не onData?

А с какой стати тут onData нужна?

qazwsx 19.03.2009 18:11

Например потому что onLoad парсит строку вида &asdasdas='adadas'&qweq='sdadas';. А onData универсален.

iNils 19.03.2009 18:26

А теперь вопрос, на фига эта универсальная каша нужна?
Я не припомню, чтобы onData мне хоть раз понадобился.

И я вас последний раз предупреждаю про запятые.

Fatality 19.03.2009 18:58

Нет, onData вещь полезная. Например, если необходимо загрузить txt, изменить который мы не можем, а текст в нем записан не в формате пара - значение, а просто как текст. Но в данном случае, я тоже не пойму, зачем делать простое сложным.

iNils 19.03.2009 19:12

Цитата:

Сообщение от Fatality (Сообщение 806957)
Например, если необходимо загрузить txt, изменить который мы не можем, а текст в нем записан не в формате пара - значение, а просто как текст.

Последний раз я работал с текстом, лет 6 назад. Потом строго xml.

MaxL 19.03.2009 20:54

Изменив немного оба примера от Fatality, я смог вставить их в swich, ошибок в коде не было, но разобраться до конца не смог. Поставив в html форме вместо post get, получилось test/?query=5555&a=2 где 5555 сам запрос...но у меня случай, когда нужен post. Форма отправляет и a=2, что нужно тоже учесть...у меня получилось так.
Код AS1/AS2:

a = 2;
var SV:LoadVars = new LoadVars();
var LV:LoadVars = new LoadVars();
SV.anyVariable = "5555";
LV.onLoad = dataLoad;
SV.sendAndLoad("http://my_Website/test/",LV,"POST");
 
function dataLoad(done:Boolean) {
    if (done) {
        trace(this.varible1);
    }
};

Выходит undefined :(
У меня есть пример простой отправки данных, но он использовался как поиск, и использовал для этого getURL, может он поможет.
Код AS1/AS2:

 
a = 2;
 
function onSubmit() {//нажатие кнопки
    if (query) { //query поисковый запрос из текстовой строки.
        query = query.trim();
        getURL("http://my_Website/test/", "","POST");
        query = "";
    }
}

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

Добавлено через 48 часов 33 минуты
Оу.....здесь кто-то есть?


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

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