从laravel返回true或false到Angularjs $ scope

时间:2014-09-25 23:12:39

标签: javascript php angularjs laravel

我试图将Laravel中的true或false返回到Angularjs中的$ scope指令。这是一个名为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 个答案:

答案 0 :(得分:0)

$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;
});