我正在通过拦截器的responseerror
对象中的reject.headers()函数进入对象下方,但无法在angularjs代码中获取特定的标头值,例如x-request-id值必须存储在某个变量中但无法为此,任何人都可以建议
{pragma:“ no-cache”,日期:“ Thu,06 Sep 2018 14:57:56 GMT”,x-content-type-options:“ nosniff”,x-request-id:“ VLCRpt3v”, x-frame-options:“ DENY”,…} 缓存控制 : “没有缓存,没有存储,最大年龄= 0,必须重新验证” 内容类型 : “ application / json; charset = UTF-8” 日期 : “星期四,2018年9月6日14:57:56 GMT” 过期 : “ 0” 语用 : “无缓存” 推荐人政策 : “同源” 传输编码 : “分块” x内容类型选项 : “ nosniff” X帧选项 : “拒绝” x-request-id : “ VLCRpt3v” x-xss保护 : “ 1; mode = block”
并尝试以下angularjs代码中的代码: var head = reject.headers(); var requestId = head.x-request-id
答案 0 :(得分:0)
您最好创建一个拦截器并将其推送到$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');
})