私はこの投稿の指示に従いました:
ここに私の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;
}
};
}]);
アプリの API 用に Python フラスコ サーバーを実行しています。
このコードは、認証済みの場合に正常に実行されます。
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