Вынести ответ 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, время: 09:24. |