| 
 $http возвращает не то, что нужно. Доброго времени.  Пытаюсь получить данные через $http.get. Код выглядит так: 
var users = $http.get('http://puth.com').then(function(response) { 
    return response.data;
});
Но вместо результата выборки получаю: 
Object { then=function(), catch=function(), finally=function()}
В чем проблема? | 
| 
 В цепочке вызовов get->then и т.д., передается объект promise, соответственно он и возвращается в users.  Данные необходимо присваивать в самой функции - users = response.data | 
| 
 Цитата: 
 пробовал другие варианты, но результат тот же 
.factory('getVars', ['$http','$q', function($http, $q) {
    var items = {};
    var last_request_failed = true;
    var promise = undefined;
    return {
        getItems: function(token) {
            if(!promise || last_request_failed) {
                promise = $http.get('puth/vars&token=' + token).then(function(response) {
                    last_request_failed = false;
                    items = response.data;
                    return items;
                },function(response) {  // error
                    last_request_failed = true;
                    return $q.reject(response);
                });
            }
			
            return promise;
        }
    };
}])
 | 
| 
 пропробуй в success 
$http({method: 'GET', url: 'puth/vars&token=' + token}).
  success(function(data, status, headers, config) {
     console.log(data); 
  });
 | 
| 
 Цитата: 
 С полученными от после запроса данными необходимо оперировать в методе then или success (который по сути, тот же then, но на вход подаются уже "разбитые" по параметрам данные запроса). Т.е. 
var users,
userPromise = $http.get('http://puth.com');
userPromise.then(function(response) {
    users = response.data;
});
или 
var users;
$http.get('http://puth.com').then(function(response) {
    users = response.data;
});
или, наподобие примера выше, в комменте. 
var users;
$http.get('http://puth.com').success(function(data) {
    users = data;
});
Все примеры выше равнозначны по функциональности. | 
| 
  jsru_ Проблема не в этом. Внутри success все есть. Задача в том, чтобы присвоить переменной заначение data, для дальнейших операций за пределами success. | 
| 
 dolpheen все 3 примера возвращают undefined за пределами функции | 
| 
 al-teen, ты должен помнить что данные в аякс запросе не пришли на время выполнения скрипта! это проблема любого аякс запроса, вот вообщем-то, на мой взгляд, нормальный ответ на твой вопрос http://stackoverflow.com/a/14220323/2560165 | 
| 
 
var users = [];
$http.get('http://puth.com').then( function( response ){
    angular.extend( users, response.data );
} );
 | 
| Часовой пояс GMT +3, время: 08:58. |