AngularJS - 无法从$ http读取响应头

时间:2015-03-07 20:31:04

标签: angularjs http-headers angular-http

当我使用检查员检查请求时,我的http响应包含标头身份验证(如此处所述:Authentication:76efbc0946773b62c93e952b502a47acd898200f6f80dc46ac87ffc501c00780),但调用headers("Authentication")会返回null

return $http({
    method: "GET",
    url: url,
    headers: {
      'Content-Type': "application/json"
    }
}).success(function (data, status, headers, config) {
    console.log(headers("Authentication"));
})

你对我的做法有什么看法吗?

仅供参考,我试图将其转回“承诺”#34;方式,.then,问题仍然相同。

2 个答案:

答案 0 :(得分:22)

您的代码看起来不错,但如果是CORS请求,则服务器需要在响应中包含Access-Control-Expose-Headers:{any custom headers}。

之前的问题/答案包含更多详细信息:Reading response headers when using $http of Angularjs

答案 1 :(得分:5)

成功回调:

console.log(headers('content-type'));
console.log(headers());  // All headers

我认为第一行会在你的cas中返回一个结果 在seconde中,您是否获得了“身份验证”功能。 ?

自定义标头将在同一个域中显示。在crossdomain情况下,您需要从服务器发送Access-Control-Expose-Headers: Authentication, ...标头。