【更新】使用Fetch发送POST请求时如何从响应头获取Date
问题分析与解决
核心原因:CORS同源策略限制
浏览器的Fetch API受同源策略约束,默认仅允许前端访问CORS安全列表内的响应头,Date字段不在这个默认列表中。因此即便浏览器Network面板能看到该字段,前端代码也无法直接读取,除非服务器主动配置暴露该头信息。
解决步骤
1. 服务器端配置
需要在服务器的响应头中添加Access-Control-Expose-Headers,将Date字段纳入暴露范围。示例配置:
Access-Control-Expose-Headers: Date
如果还有其他需要前端访问的非默认响应头,可通过逗号分隔一并添加:
Access-Control-Expose-Headers: Date, X-Custom-Header
2. 前端代码验证
服务器配置完成后,你现有代码中的response.headers.get('Date')就能正常获取到对应值,遍历headers的操作也会显示出Date字段。
补充说明
CORS安全列表默认允许前端读取的头包括:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma,这些字段无需额外配置即可直接访问。其余非列表内的响应头,都必须通过Access-Control-Expose-Headers明确声明暴露。
内容的提问来源于stack exchange,提问作者Pajama_Jeans
相关产品推荐
相关产品推荐

