angularjs http перехватчик responseError объект - PullRequest
0 голосов
/ 06 сентября 2018

Я получаю объект под функцией rejection.headers () в responseerror объекте-перехватчике, но не могу получить конкретное значение заголовка в коде angularjs, например, значение x-request-id нужно сохранить в некоторой переменной, но невозможно может кто-нибудь, пожалуйста, предложите,

{pragma: "no-cache", дата: "четверг, 06 сентября 2018 14:57:56 GMT", x-content-type-options-options: "nosniff", x-request-id: "VLCRpt3v", x-frame-options: "DENY",…} кэш-контроль : "нет кеша, нет хранилища, max-age = 0, обязательно повторная проверка" Тип содержимого : "Приложения / JSON; кодировка = UTF-8" Дата : «Чт, 06 сентября 2018 14:57:56 GMT» истекает : "0" прагма : «Нет кэша» реферер-политика : «Общее происхождение» Transfer-Encoding : «Фрагментированный» Рентгеновские Content-Type-опция : "Nosniff" х-каркасные варианты : "ОТРИЦАТЬ" х-запрос-идентификатор : "VLCRpt3v" х-XSS-защита : «1; режим = блок»

и пробуем код ниже в коде angularjs: var head = rejection.headers (); var requestId = head.x-request-id

1 Ответ

0 голосов
/ 06 сентября 2018

Вам лучше создать перехватчик и переместить его к $httpProvider перехватчику.

Вот как это должно выглядеть:

angular.module('app')
      .service('headerRetrieveInterceptor', function ($q) {
        var service = this;
        service.responseError = function (response) {
            // Here Are Your Headers
            console.log(response.headers());

            return $q.reject(response);
        };
    }).config(function($httpProvider) {
        $httpProvider.interceptors.push('headerRetrieveInterceptor');  
})
...