Показать сообщение отдельно
  #1 (permalink)  
Старый 28.07.2014, 01:38
Новичок на форуме
Отправить личное сообщение для dmsuslov Посмотреть профиль Найти все сообщения от dmsuslov
 
Регистрация: 28.10.2007
Сообщений: 8

AJAX и Deferred: последовательность выполнения обработчиков
Задача: получить данные с сервера посредством $.post, обработать их в методе .success(), после чего вызвать определенную функцию.

var t;
        $.when($.post("get_json.php", function(res) {
          t = res;
        }, 'json')).done(function() {
          console.log(t);
        });


Правильно ли я понимаю, что Deferred-метод .done() выполнится после того, как отработает .success (т.е. t = res) ?
Но почему тогда console.log(t) выводит "undefined"?
Получается, что .done() срабатывает сразу после выполнения запроса, но до выполнения .success()?
Ответить с цитированием