1
    user = $http({
      method: 'POST',
      data : user,
      url: 'http://localhost:8080/auth-user'
    }).then(function (response) {
          console.log(response.data);//Object { id: 1, name: "gman", password: "281288", mail: "gman@mail.ru", avatar: null, role: "USER" }
          return response.data;
    });
    console.log(user); //Object { $$state: Object }

Что я делаю не так?

2 Answers2

3

Все так.

$http - возвращает promise, и работать напрямую с результатом можно в функции then.

user = $http({
      method: 'POST',
      data : user,
      url: 'http://localhost:8080/auth-user'
    }).then(function (response) {
          console.log(response.data);//Object { id: 1, name: "gman", password: "281288", mail: "gman@mail.ru", avatar: null, role: "USER" }
          return response.data;
    });

user.then(function(data){
    $scope.data = data;        
})
Grundy
  • 81,538
1

Как вариант можно вот так:

    function service_func(data, callback) {
        $http.post('http://localhost:8080/auth-user', data)
            .then(function(res){
                callback(res.data);
            })
            .catch(function(err){
                console.log(err);
            });
    } 
Vini Pux
  • 119