我添加errorHandlerInterceptor
来处理错误,如下所示:
(function() {
'use strict';
angular
.module('rasool')
.config(httpConfig);
function httpConfig($httpProvider) {
$httpProvider.interceptors.push('errorHandlerInterceptor');
}
})();
并且在errorHandlerInterceptor
我希望从响应标头中获取特定标头,如下所示:
(function() {
'use strict';
angular
.module('rasool')
.factory('errorHandlerInterceptor', errorHandlerInterceptor);
function errorHandlerInterceptor ($q, toaster, $rootScope, $timeout) {
var service = {
responseError: responseError
};
return service;
function responseError (response) {
var errorHeader = response.headers('X-app-alert');
if(errorHeader) {
// do something
}
return $q.reject(response);
}
}
})();
问题是errorHeader
为空,但是当我使用Chrome DevTools检查响应标头时,此标头存在且具有一个值,如下面的屏幕截图所示:
更新
所有这些部分都在网站上正常运行,但我创建了一个html,js和css文件的副本来创建一个ionic1应用程序,但是当我运行ionic serve
命令来测试应用程序时,我有这个问题
答案 0 :(得分:0)
您是否尝试过这样称呼它:
var errorHeader = response.headers();
并且在errorHeader之后应该是一个拥有所需数据的对象。