javascript — возвращает значение true или false из laravel в область видимости Angularjs $

Я пытаюсь вернуть true или false из Laravel в директиву $ scope в Angularjs. Это код laravel, который называется:

public function check() {
return Response::json(Auth::check());
}

Это сервис, который запрашивает Laravel:

app.factory('UserService', ['$http', '$location', function($http, $location) {

return {
loggedIn: function() {

var c = $http.get('/auth/check');
c.success(function(data) {
console.log(data);
return data;
});

}
}

}]);

Ответ прекрасно записывается в консоль, но я не могу связать его с директивой $ scope:

app.controller('BaseController', ['$scope', 'UserService', function($scope, UserService) {

$scope.loggedIn = UserService.loggedIn();

}]);

Ничего не возвращает, когда я называю это как:

{{ loggedIn }}

…по-моему.

Любая помощь?

1

Решение

$http Сервис возвращает обещание. Таким образом, вы должны написать что-то вроде

app.factory('UserService', ['$http', '$location', function($http, $location) {

return {
loggedIn: function() {
return $http.get('/auth/check');
}
}

}]);

контроллер:

UserService.loggedIn().success(function(data) {
$scope.loggedIn = data;
});
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector