PDA

Просмотр полной версии : проблема с POST запросом к PHP...


LeXa4
16.04.2010, 11:31
function POST() {
url="test.php";
var sender=new LoadVars();
var loader=new LoadVars();
loader.onData = function(res:String){
return res;
}
sender.sendAndLoad(url,loader,"POST");
}

testvar=POST();


Люди. Проблема такая... POST запрос отсылается нормально, приходит ответ, всё работает. Но почему то не работает return, переменная testvar возвращает undefined Помогите плиз....

Извините может я что-то не доучил. Я самоучка...

mooncar
16.04.2010, 11:55
1) return у вас происходит внутри функции-обработчика onData, а не внутри функции POST.
2) Более того, onData ничего не может возвращать (см. ее синтаксис).
3) Получаемое значение становится доступным только внутри onData, в силу асинхронности работы кода.

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(); не получится.

LeXa4
16.04.2010, 12:39
Ой спасибо большое. Оказалось такое простое решение. Но я бы сам и не дотумкал... =)