angular 中的 401 错误代码解释不正确
401 error code interpreted incorrectly in angular
我对 angular 比较陌生,所以我不确定我是否遗漏了什么。
我有一个 Http 拦截器,用于向请求添加 JWT 令牌以及处理来自服务器的响应。
.factory('myHttpInterceptor', ['$q', '$location', '$window', function($q, $location, $window) {
return {
request: function(request) {
console.log('myHttpInterceptor - request');
return request;
},
requestError: function(requestError) {
console.log('myHttpInterceptor - requestError');
return requestError;
},
response: function(response) {
console.log('myHttpInterceptor - response');
return response;
},
responseError: function(responseError) {
console.log('myHttpInterceptor - responseError');
return responseError;
}
};
}]);
//Http Intercpetor to check auth failures
angular.module("POSMobile").config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('myHttpInterceptor');
}]);
所以这就是问题所在,我试图通过更改到我的登录屏幕的路由来处理 401 未经授权的错误,但是 responseError 侦听器似乎从未触发过。
我检查了我的 iis 日志,我的服务肯定返回了 401 代码
这里我用Postman做了个测试,拿到了401Screenshot of Postman
但是在我的拦截器中它的计算结果是这样的xdk debug screenshot
最后在请求完成后,我在调试控制台中收到 401 错误
提前致谢
.factory('myHttpInterceptor',['$q','$location',function($q,$location) {
return {
responseError: function(response){
console.log(response.status+' intercepted');
return $q.reject(response);
}
};
}]);
你能试试这个吗
尝试清除您用于测试的设备上的应用程序数据
我对 angular 比较陌生,所以我不确定我是否遗漏了什么。
我有一个 Http 拦截器,用于向请求添加 JWT 令牌以及处理来自服务器的响应。
.factory('myHttpInterceptor', ['$q', '$location', '$window', function($q, $location, $window) {
return {
request: function(request) {
console.log('myHttpInterceptor - request');
return request;
},
requestError: function(requestError) {
console.log('myHttpInterceptor - requestError');
return requestError;
},
response: function(response) {
console.log('myHttpInterceptor - response');
return response;
},
responseError: function(responseError) {
console.log('myHttpInterceptor - responseError');
return responseError;
}
};
}]);
//Http Intercpetor to check auth failures
angular.module("POSMobile").config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('myHttpInterceptor');
}]);
所以这就是问题所在,我试图通过更改到我的登录屏幕的路由来处理 401 未经授权的错误,但是 responseError 侦听器似乎从未触发过。
我检查了我的 iis 日志,我的服务肯定返回了 401 代码
这里我用Postman做了个测试,拿到了401Screenshot of Postman
但是在我的拦截器中它的计算结果是这样的xdk debug screenshot
最后在请求完成后,我在调试控制台中收到 401 错误
提前致谢
.factory('myHttpInterceptor',['$q','$location',function($q,$location) {
return {
responseError: function(response){
console.log(response.status+' intercepted');
return $q.reject(response);
}
};
}]);
你能试试这个吗
尝试清除您用于测试的设备上的应用程序数据