- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在登录成功后将访问 token 设置为 header 。我试图通过使用拦截器来实现它,但收到此错误:
Uncaught Error: [$injector:unpr] Unknown provider: aProvider <- a <- TokenInterceptor <- $http <- $compile
JS
myApp.config(['$httpProvider',function ($httpProvider) {
$httpProvider.interceptors.push('TokenInterceptor');
}]);
myApp.factory('TokenInterceptor', function ($q, $window, $location, AuthenticationService) {
return {
request: function (config) {
config.headers = config.headers || {};
if ($window.sessionStorage.token) {
config.headers.Authorization = 'Bearer ' + $window.sessionStorage.token;
}
return config;
},
requestError: function(rejection) {
return $q.reject(rejection);
},
response: function (response) {
return response || $q.when(response);
},
//Revoke client authentication if 401 is received
responseError: function(rejection) {
console.log("Rejecton !");
console.log(rejection);
if (rejection != null && rejection.status === 401 && ($window.sessionStorage.token || AuthenticationService.isLogged)) {
console.log("Revoked !");
delete $window.sessionStorage.token;
AuthenticationService.isLogged = false;
$location.path("/admin/login");
}
return $q.reject(rejection);
}
};
});
最佳答案
yApp.config(['$httpProvider', function ($httpProvider) {
var interceptor = ['$q', '$window', '$location', '$injector', function($q, $window, $location, $injector) {
return {
request: function (config) {
config.headers = config.headers || {};
if ($window.sessionStorage.token) {
config.headers.Authorization = 'Bearer ' + $window.sessionStorage.token;
}
return config;
},
requestError: function(rejection) {
return $q.reject(rejection);
},
response: function (response) {
return response || $q.when(response);
},
// Revoke client authentication if 401 is received
responseError: function(rejection) {
console.log(rejection);
// Dynamically get the service since they can't be injected into config
var AuthenticationService = $injector.get('AuthenticationService');
if (rejection != null && rejection.status === 401 && ($window.sessionStorage.token || AuthenticationService.isLogged)) {
delete $window.sessionStorage.token;
AuthenticationService.isLogged = false;
$location.path("/login");
}
return $q.reject(rejection);
}
};
}];
$httpProvider.interceptors.push(interceptor);
}]);
关于AngularJS $http.interceptors.push 未捕获错误 : [$injector:unpr],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737848/
当我尝试将 $cookie 包含到我的 Controller 中时出现此错误。 任何人都可以向我解释我做错了什么? 我在 index.html 中有 angular-cookie.js 我在 conf
我在 Controller 中有此代码 app.controller('Ctrl', function($scope, $invalid, $location) { $scope.upd_check
我正在尝试使用 Angular UI Bootstrap module ,特别是 Modal 插件。我的应用程序文件夹的结构如下: 应用程序 时间表 scheda.html schedacontrol
尝试为我的 angularjs 应用程序设置简单的身份验证。当我在第 20 行调试 app.js 时,我收到此错误: Error: [$injector:unpr] http://errors.ang
这是我的 script.js 代码: var app = angular.module('starter', []) app.provider('RouteHelpers', function ()
我正在 Angular Js 工作。我正在尝试根据用户名和密码从 Sql 数据库创建登录系统。我输入了正确的用户名和密码,但这没有进入我想重定向用户主页但我做不到的页面。当我从控制台应用程序将用户名和
我创建了 .html、app.js、Controller.js 和 Services.js。我只是希望使用 DI 在 html 页面上发布数据,但在执行 html 文件时出现错误,如下所示 angul
尝试添加一个简单工厂并收到错误: Error: [$injector:unpr] http://errors.angularjs.org/1.4.6/$injector/unpr?p0=subfact
/image/u8QL3.jpg这是我的错误的图片。 dicym.js var app = angular.module('diycm', ['ngRoute', 'LocalStorageModul
我正在用 java 开发购物网站,我正在使用 angurajs。 我有这个文件的问题: DashboardControll.js 'use strict'; var app = angular
我正在为我的网站和 SEO 优化编写元数据服务,但似乎我无法克服错误。我不确定为什么。我在 head 标签中插入了我的 html Controller 标签 ng-controller="MetaDa
我有以下 Controller : /** Calculation controller **/ app.controller('calculationController', ['$scope','
somone可以让我了解为什么我会根据我的代码获得标题错误吗?不太清楚为什么。 angular.module("demoApp", ['ngRoute']) .config(['$routeProvi
我是 AngularJs 的新手,我已经看到了足够多的类似问题的帖子,但还没有找到解决我的问题的方法。我使用的是 Angular 1.4.5 app.js(省略了路由和拦截器等额外代码): 'use
routes.js angular .module('main') .config(config); config.$inject = ['$routeProv
我是 AngularJS JavaScript 新手。刚开始学它。我正在尝试一些小示例程序。这是我尝试过的,但它抛出错误。 {{time}} var app
我会保持简短。我对 angularjs 非常陌生,我正在学习 Pluralsights 教程之一。 自从本教程发布以来,有许多已弃用的内置插件让我抓狂。 我正在尝试使用以下代码 angularForm
我正在尝试从 this site 实现 $uibModal 但是一旦我将 $uibModal 服务添加到我的 Controller 中,我就会收到错误:[$injector:unpr] http://
我完成了本教程,该教程已运行代码,并且我尝试将其变成我自己的。但不幸的是,它不起作用。它给出了以下错误: angular.min.js:84Error: [$injector:unpr] http:/
这是我的代码: app.factory('assignmentAttachments', function() { }); describe("test", function() { // a
我是一名优秀的程序员,十分优秀!