即使chrome dev工具显示标头,Fetch()响应标头也为空

时间:2019-05-24 22:49:21

标签: google-chrome-extension cors fetch preflight response-headers

我的Chrome扩展程序对HEAD请求的响应忽略了一个我需要的自定义标头,称为“ Replay-Nonce”。我认为这与CORS阻止它有关,但我不确定。奇怪的是,当我查看chrome dev工具中的请求/响应时,标题会出现。

奇怪的是,当我从常规网页(而不是扩展程序)中尝试请求时,我可以很好地获得Replay-Nonce标头。此外,IDK为什么但当我从扩展程序内执行请求时,没有像从网页发送请求时那样的OPTIONS预检请求。 chrome dev工具是否可能没有向我显示实际发送的OPTIONS请求,或者扩展程序是否未发送预检请求?

我认为服务器需要使用Access-Control-Allow-Headers标头进行响应,就像我向其发送POST请求时一样(来自扩展名的POST请求使我可以检索Replay-Nonce标头),但我不确定如何通过HEAD或GET请求在响应中获取该标头。

const res = await fetch(directory.newNonce, {
  method: "HEAD"
})
// Returns null even though chrome dev tools shows the header
console.log("nonce: "+res.headers.get('Replay-Nonce'))

0 个答案:

没有答案