0

我已经在 Cloudflare Pages 中使用自定义域设置了反应 UI https://ui.example.com。有一个登录页面,允许用户输入用户名和密码。一旦他们提供了信息,它将使用 axios 调用托管在 Cloudflare Workers 中的 API,https://apis.example.com并从那里编写示例代码以返回带有“secret-token”值的 Set-Cookies 标头。

由于 Pages 和 Workers 位于不同的域中,所以我配置了 Workers 以向 API 响应提供以下值,除了 Set-Cookies 标头值:

"Access-Control-Allow-Origin": "*"
"Access-Control-Allow-Methods": "*"
"Access-Control-Allow-Headers": "*"
"Access-Control-Expose-Headers": "Set-Cookie"

但是,当我使用 login.jsx 中编写的脚本 (console.log) 检查响应标头时,它只包含内容长度和内容类型。但是,当我在我的情况下检查来自 Chrome(开发者工具网络)的响应时,上面的那些标头值存在。

在这种情况下,如何从 axios 调用中获取响应的标头值?

4

1 回答 1

0

您将需要使用不同的标题名称。

Set-Cookie是一个禁止的响应头,这意味着 JavaScript 不被允许读取这个头。浏览器处理此标头(将 cookie 添加到 cookie 存储中),然后在 JavaScript 完全看到响应之前将其删除。

相反,请尝试发明自己的标题名称,例如X-Secret-Token.

于 2021-12-27T02:51:05.717 回答