【发布时间】:2019-07-02 10:29:41
【问题描述】:
如何使用 Express 在 NodeJS 中同时发送 res.render 和 res.json。我想要类似的东西:
app.get(basePath, function (req, res, next) {
//More stuff
res.json({token: token});
res.render(path.join(publicPath, '/main'),
{mv: mv});
});
但它只给了我令牌而不呈现页面。使用这种方法:
app.get(basePath, function (req, res, next) {
//More stuff
res.render(path.join(publicPath, '/main'),
{mv: mv, token: token});
});
我无权访问令牌参数(我必须将其存储在客户端中)
这个想法是避免使用 2 个请求(一个用于页面测试令牌,一个用于生成新令牌以重新测试旧令牌)。并避免在每个视图中都有一个隐藏的令牌跨度。
【问题讨论】:
-
您试图实现的目标是不安全的。如果用户已连接,则应考虑使用 cookie 或会话(如果要发送的令牌)。此外,只需使用中间件来重新生成令牌。伊齐奥。
-
但我读到 cookie 比 tokenn 更不安全,因为任何人都可以窃取它。我只有 15 分钟的代币。我不知道究竟什么效果更好。