【问题标题】:Angular8 get full of HttpClient response headersAngular8 充满了 HttpClient 响应头
【发布时间】:2020-03-20 14:06:06
【问题描述】:

我正在使用 HttpClient 请求 json 文件。我希望文件可以用ETag 缓存。但它不起作用。我认为 If-None-Match 没有发送到服务器是原因。所以我想从响应头中获取“ETag”。但是响应标头没有Angular中的项目,但它确实在chrome网络工具中的HTTP响应中。全部显示在以下图片中。

如何从响应头中获取 ETag

【问题讨论】:

    标签: javascript angular


    【解决方案1】:

    我认为它类似于:HttpClient dont return all headers

    您需要设置后端以返回Access-Control-Expose-Headers:ETag

    【讨论】:

    • 您能否提供一个请求及其响应的示例?您是否有正在发送的 OPTIONS 请求?当来自服务器的数据没有改变时,您不会收到任何 304 响应吗?
    • 抱歉回复晚了。我做了一个在线demo,你可以试试。stackblitz.com/edit/angular-b4vtlv?embed=1&file=src/app/…
    【解决方案2】:

    由于 MDN 显示 cors 隐藏了很多标题,所以我无法以角度获取 ETag

    在响应头中添加Access-Control-Expose-Headers:ETag可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多