【问题标题】:Client-side javascript: how can I get the response header of a HTTP request when CORS is not allowed?客户端javascript:不允许CORS时如何获取HTTP请求的响应标头?
【发布时间】:2017-11-11 13:34:42
【问题描述】:

在浏览器中,我正在执行 HTTP 请求。 reqUrl 的资源没有启用 CORS,因此没有响应正文。但是我怎样才能得到响应头呢? (我可以在 DevTools 的网络选项卡中看到它。)

var p = fetch(reqUrl, {
  method: "POST",
  headers: reqHeader,
  body: reqBody
});

p.then(function () {
})
.catch(function (err) {
   // CORS is disabled so I'm arriving here
   // "TypeError: NetworkError when attempting to fetch resource."
});

【问题讨论】:

    标签: javascript browser cors cross-domain


    【解决方案1】:

    您不能,除非它支持 CORS 并将标头名称列入白名单。这是一个安全问题,因为获取禁止的标头内容与禁止的响应内容一样有风险。开发工具功能不受 SOP 限制,因此不需要这样的“权限”来显示用户调试信息。您无法通过脚本访问任何 devtool 信息,因此仅向用户显示是安全的。

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2022-11-17
      相关资源
      最近更新 更多