【发布时间】:2015-04-09 20:34:19
【问题描述】:
我是 angular js、loopback 和 nodejs 的新手,
在 Angular 应用程序中实现身份验证时,出现以下错误
Uncaught Error: [$injector:unpr] Unknown provider: sessionInjectorProvider <- sessionInjector <- $http <- $compile
我正在浏览此文档,但没有任何帮助。 http://www.webdeveasy.com/interceptors-in-angularjs-and-useful-examples/
当我为 sessionInjector 添加以下行时出现此错误
angular.module('myApp', []).factory('sessionInjectorProvider', ['SessionService', function(SessionService) {
var sessionInjector = {
request: function(config) {
if (!SessionService.isAnonymus) {
config.headers['x-session-token'] = SessionService.token;
}
return config;
}
};
return sessionInjector;
}]);
angular.module('myApp', []).config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('sessionInjector');
}]);
【问题讨论】:
-
每次你做
angular.module('myApp', [])模块都是新创建的,之前注册到该模块的任何东西都消失了。可能你可能想做angular.module('myApp').config..也必须将sessionInjectorProvider注入拦截器sessionInjectorProvider -
所以试试
angular.module('myApp').config(['$httpProvider', function($httpProvider) { $httpProvider.interceptors.push('sessionInjectorProvider'); }]); -
这两项更改是否仍然遇到相同的问题。
-
尝试在 plunker 中复制这个错误。应该不难,它只有 2 个块。你自己会得到线索
标签: node.js angularjs angularjs-directive loopbackjs