我有express路线。我设置了 aheader和 acookie然后我重定向。
router.get("/callback", async (req, res) => {
res.cookie("token", token, {
maxAge: COOKIE_EXPIRATION_MILLISECONDS
});
res.header("TEST", "HEADER");
res.redirect("/test");
});
Run Code Online (Sandbox Code Playgroud)
当我点击 时/test,token已设置并可用。我没有一个header命名的TEST. 为什么我没有header?我如何header通过redirect?
您的标头可能与响应一起发送,但当浏览器实际遵循重定向然后请求新 URL 时,您将看不到该标头。浏览器不会这样做。请记住,当您这样做时res.redirect(),它会发送一个带有 302 状态和位置标头的响应。浏览器看到 302 并读取位置标头,然后向您的服务器发出新的浏览器请求以获取重定向位置。来自先前响应的标头不会添加到重定向位置的新请求中。
将这样的数据传递给重定向请求的常用方法是:
只有上面的第一个选项(查询参数)是完全安全的,因为如果有来自同一用户的其他请求,其他选项可能会混淆数据属于哪个请求。
| 归档时间: |
|
| 查看次数: |
2445 次 |
| 最近记录: |