Вынести ответ ajax за пределы callback функции
Вот разбираюсь с ajax. Хочется произвести ajax-запрос, а результат его выполнения запихнуть в переменную и дальше с ней манипулировать. Но все примеры, которые мне удалось нагуглить, позволяют работать с ответом ajax либо в callback функции, либо cразу загрузить ответ в какой-нибудь html элемент. Пытался сделать как в коде ниже, но t.responseText возращается пустым, а t.status = 1. Видимо, запрос еще не успевает завершиться, когда я пытаюсь прочесть его ответ.
Заранее спасибо за помощь. get.php echo "Привет!"; js-код
...........................
var t;
t = $.post("get.php",
{ name: "John", time: "2pm" },
function(data)
{
return data;
},
"text"
);
alert(t.responseText);
................................
|
Callback-функция не просто так передается 3-м параметром в метод post.
|
То есть сделать что-нибудь с ответом за пределами callback функции нельзя?
|
В случае с асинхронным запросом нельзя, остальной код не будет ждать, когда придет ответ с сервера, продолжит выполнятся, а когда ответ все таки придет, будет вызвана callback-функция.
|
Вынес ajax запрос в самый конец функции, но тут возникает другой вопрос: можно ли сделать так, чтобы return для callback функции стал бы и return для обрамляющей его функции myfunction.Или можно все-таки поставить какой-нибудь таймаут, чтобы произвести нужные действия после завершения запроса за пределами Callback функции.
function myfunction
{
$.post("get.php",
{ name: "John", time: "2pm" },
function(data)
{
..............................
..............................
if (iserror)
{
return false;
}
else
{
return true;
}
},
"text"
);
}
|
| Часовой пояс GMT +3, время: 03:03. |