Показать сообщение отдельно
  #2 (permalink)  
Старый 28.07.2014, 01:56
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Возможно, проблема в том, что $.post возвращает не промис, а jqXHR. В результате $.then() успешно разрешается этим объектом. Думаю, тут надо как-то так:

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


Кстати, зачем нужно делать такой каскад: коллбэк, затем промис? Ведь в done результат тоже приходит, безо всяких переменных в замыкании.

Последний раз редактировалось ixth, 28.07.2014 в 01:59.
Ответить с цитированием