0
我添加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的響應頭,這個頭存在,並且有一個值,你可以在下面的截圖中看到:
UPDATE
所有這些部分都在網站運行正常,但我創建的HTML,JS和CSS文件副本創建ionic1應用程序,但是當我運行ionic serve
命令來測試應用程序,我有這個問題。
您確定在您嘗試訪問響應頭時,承諾已經解決嗎? – Anton
非標準標題需要用[Access-Control-Expose-Headers]列出(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers )。 – georgeawg
@georgeawg,正如你在屏幕截圖中看到的那樣,響應頭中已經存在'X-app-alert',但角度不會得到這個頭 –