响应 header 未显示在浏览器中,尽管它已登录到控制台 - Cloudflare Workers

Response header is not showing up in browser although it is getting logged in console - Cloudflare Workers

我用 Cloudflare worker 创建了一个 worker 来附加一个新的 header:

async function handleRequest(request) {
  let response = await fetch(request.url);

  response = new Response(response.body, response)
  response.headers.append("Foo", "bar")



  for (const element of response.headers.keys()) {
  console.log(element);
}

  return response
}

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request))
});

暂时忽略 for 循环,我用它来记录 headers。

如屏幕截图所示,控制台记录了它。但是,我没有在浏览器上看到它。我该如何解决?

根据您在屏幕截图中显示的响应 Headers,似乎没有默认的 Cloudflare headers。您可能没有启用 Cloudflare Proxy,或者可能没有将 worker 附加到子域。

对于第一种情况,请确保为您的子域打开橙色代理。

对于第二种情况,

  1. 转到子域下的 Workers 选项卡
  2. 点击Add route
  3. 相应地设置路线
  4. 从列表中选择工人
  5. 保存并测试