Javascript 如何在发送标头node.js后重定向
我的admin.js控制器文件中有以下内容Javascript 如何在发送标头node.js后重定向,javascript,node.js,Javascript,Node.js,我的admin.js控制器文件中有以下内容 module.exports = { getAdmin: async (req, res) => { let ref = req.headers.referer; if ((ref === undefined) || (!ref.includes('user'))) { res.writeHead(301, {Location: '/'} ); res.end(); res.render('admin', { indexCS
module.exports = {
getAdmin: async (req, res) => {
let ref = req.headers.referer;
if ((ref === undefined) || (!ref.includes('user'))) {
res.writeHead(301,
{Location: '/'}
);
res.end();
res.render('admin', { indexCSS: true })
}
}
我想做的是,如果用户来自/User
,他可以访问/admin
页面,否则他会被重定向到/
,即主页
。如果用户来自有效的推荐人,它可以工作,但当我尝试直接转到路由时,它会正确重定向,但应用程序崩溃,我得到错误error[ERR\u HTTP\u HEADERS\u SENT]:发送到客户端后无法设置头
是否有一种方法可以重定向而不出现错误
在我的方法中我做错了什么
提前谢谢
请注意,这不包括身份验证。res.end()
的工作方式与函数的返回方式不同。之所以会出现此错误,是因为在使用writeHeadres.end()之后,调用了它,它会发回响应,然后代码尝试呈现“admin”
module.exports={
getAdmin:async(请求、回复)=>{
设ref=req.headers.referer;
如果((ref==未定义)| |(!ref.includes('user')){
文书标题(301{
位置:'/'
});
}否则{
res.render('admin'{
indexCSS:对
})
}
决议结束()
}