AngularJS - 无法从$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"));
})

你知道我可能做错了什么吗?

仅供参考,我试图用.then将其切换回"承诺"方式,问题仍然相同。

你的代码看起来不错,但如果它是一个CORS请求,服务器需要在响应中包含Access-Control-Expose-Headers:{任何自定义头}。

前面有一个问题/答案,其中包含更多详细信息:使用 Angularjs $http时读取响应标头

在成功回调中输入:

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

我认为第一行在您的 cas 中返回结果。
在第二,你有"身份验证"吗?

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

最新更新