跨域获取 Headers 中的 Content-Disposition

在默认情况下,浏览器限制了对跨域请求响应的访问权限,阻止了读取敏感的响应头信息(例如 Content-Disposition)。这是由于跨域请求的安全策略所决定的。

如果你想在跨域请求中获取到 Content-Disposition 头信息,需要在服务器端进行一些配置。

首先,确保服务器返回的响应中包含 Access-Control-Expose-Headers 头,并将 Content-Disposition 添加到其中。这样浏览器才会在跨域请求成功后暴露该头信息。

在服务器端配置响应头,示例代码(使用 Express 框架):

app.use(function(req, res, next) {
  res.header('Access-Control-Expose-Headers', 'Content-Disposition');
  next();
});

以上代码将在每个响应头中添加 Access-Control-Expose-Headers: Content-Disposition,使浏览器能够获取到 Content-Disposition 头信息。

在客户端使用 Axios 发起跨域请求时,确保你在 response 对象中可以从 headers 属性中获取到 Content-Disposition 头信息。

axios.get('http://example.com/api', { crossDomain: true })
  .then(response => {
    const contentDisposition = response.headers['content-disposition'];
    // 在这里可以访问到 Content-Disposition 头信息
  })
  .catch(error => {
    // 处理错误
  });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值