Показать сообщение отдельно
Старый 16.04.2010, 11:55
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1) return у вас происходит внутри функции-обработчика onData, а не внутри функции POST.
2) Более того, onData ничего не может возвращать (см. ее синтаксис).
3) Получаемое значение становится доступным только внутри onData, в силу асинхронности работы кода.
Код AS1/AS2:
POST();
 
function POST() {
	url = 'test.php';
	var sender = new LoadVars();
	var loader = new LoadVars();
	loader.onData = function(res:String){
		testvar = res;
		//дальнейшие действия, например вызов нужной функции
		someFunction (res);
	}
	sender.sendAndLoad(url, loader, 'POST');
}
 
function someFunction (str:String) {
   trace (str);  //выведет то, что получили как res в onData
}
То есть, "поставить телегу впереди лошади" никак. Все произойдет не раньше, чем загрузятся данные.
Значит использовать testvar=POST(); не получится.


Последний раз редактировалось mooncar; 16.04.2010 в 12:10.