使用 nodejs 中的中间件将它们发送到客户端后无法设置 headers
Cannot set headers after they are sent to the client using a middleware in nodejs
我遇到了这个错误
Cannot set headers after they are sent to the client
当我检查用户是否通过中间件进行身份验证时
var isAuthenticated = function (req, res, next) {
if(!req.isAuthenticated()) res.redirect(301,'/login');
next();
};
module.exports = isAuthenticated;
这是路由函数
router.get('/', isAuthenticated,(req, res) => {
res.render('main/index.twig');
})
尝试将您的 if 条件更新为 return。否则它可能会尝试调用 redirect
然后 next
.
if(!req.isAuthenticated()) return res.redirect(301,'/login');
我遇到了这个错误
Cannot set headers after they are sent to the client
当我检查用户是否通过中间件进行身份验证时
var isAuthenticated = function (req, res, next) {
if(!req.isAuthenticated()) res.redirect(301,'/login');
next();
};
module.exports = isAuthenticated;
这是路由函数
router.get('/', isAuthenticated,(req, res) => {
res.render('main/index.twig');
})
尝试将您的 if 条件更新为 return。否则它可能会尝试调用 redirect
然后 next
.
if(!req.isAuthenticated()) return res.redirect(301,'/login');