Форум 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=176267)

Punk T-34 06.03.2012 01:48

Какой тип переменых?
 
Привет.
Есть пример функции, которая загружает переменные из PHP. В зависимости от параметров запроса функции (act) будут возвращаться переменные с разными именами (hlink).

Код AS1/AS2:

var need1:String = 'hlink';
 
function loadImages(act:String, n1:String) {
    var result_lv:LoadVars = new LoadVars();
    result_lv.onLoad = function(success:Boolean) {
        if (success) {
            trace(result_lv.n1); // undefined
        } else {
            result_ta.text = "Error connecting to server.";
        }
    };
    var send_lv:LoadVars = new LoadVars();
    send_lv.action = act;
    send_lv.sendAndLoad("my.php",result_lv,"POST");
}
 
loadImages('myAction', need1);

Сейчас эта функция не работает потому что она не может распознать n1 (undefined). Видимо, я передаю в функцию неправильный тип данных (:String). Пробовал Object, но тоже не то.
Скажите какой тип данных тут надо использовать чтобы передать переменную функции?

mooncar 06.03.2012 11:30

Стоп.
А какая связь между аргументом n1, который вы передаете в функцию loadImages, и n1, которую вы получаете из my.php?
Это две совершенно разных переменных.
Код AS1/AS2:

trace(result_lv.n1)

должно отобразить вам после получения отклика от my.php то, что будет выведено скриптом и определено там в паре
Код:

n1=значение_n1

Punk T-34 06.03.2012 13:30

Да все так и есть. Только php скрипт выводит значение hlink=значение_hlink. И для каждого параметра action будет разное название переменной. В данном случае, если в php отправляется myAction, то возвращается переменная с именем hlink. Если будет отправлено например yourAction, то название переменной уже будет выводиться другое, не hlink, а например, yourlink.
В обоих случаях я знаю какое именно имя переменной будет возвращено php скриптом и прописываю это заранее для функции в переменной n1.

Punk T-34 15.03.2012 04:35

А ларчик просто открывался!
В 7-й строчке вместо
Код AS1/AS2:

trace(result_lv.n1);

нужно написать
Код AS1/AS2:

trace(result_lv[n1]);

А если отвечать на свой вопрос про тип переменных, то это всё-таки String. Просто в 7-й строчке неправильно было написано — не знал.


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

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