Я следовал указаниям из этого поста:
Перенаправить с помощью AngularJS
вот мой сервис user.js:
'use strict';
staticApp.factory('user', ['$scope', '$http', '$q', '$location', function ($scope, $http, $q, $location) {
$http.defaults.useXDomain = true;
var host = 'http://' + window.location.hostname + ':5001';
return {
current: function() {
var d = $q.defer();
var user = $http({method: 'GET', url: host + '/api/user.json'});
user.success(function(resp) {
console.log('SUCCESS! logged in!');
d.resolve(resp.user);
});
user.error(function(resp) {
console.log('not logged in!');
var login_url = 'http://path/to/login/';
scope.$apply(function() { $location.path(login_url); });
});
return d.promise;
}
};
}]);
я использую сервер python flask для API приложения.
этот фрагмент кода выполняется нормально, когда я уже прошел аутентификацию:
user.success(function(resp) {
console.log('SUCCESS! logged in!');
d.resolve(resp.user);
});
однако, когда я не аутентифицирован, и этот фрагмент кода выполняется:
user.error(function(resp) {
console.log('not logged in!');
var login_url = 'http://path/to/login/'
scope.$apply(function() { $location.path(login_url); });
});
я получаю эту ошибку:
Error: Unknown provider: $scopeProvider <- $scope <- user <- navigationDirective