0
// check user session
var user = req.user;
if(!user)
res.redirect('/login');
res.render('report/search');
我得到這個錯誤:
Error: Can't set headers after they are sent.
如何停止後重定向?
// check user session
var user = req.user;
if(!user)
res.redirect('/login');
res.render('report/search');
我得到這個錯誤:
Error: Can't set headers after they are sent.
如何停止後重定向?
在expressjs上responose
liek redirect
,render
,json
等任何方法不停止請求處理程序的執行,並執行它,直到結束。你可以有任何代碼,它會工作,但你不能將響應發送給客戶端兩次,這就是爲什麼你得到這個錯誤。
爲了解決它,你需要要麼使用return
if-else
條款:
var user = req.user;
if(!user)
return res.redirect('/login');
return res.render('report/search'); //this return is not required, but it's still good to have it there
或者:
var user = req.user;
if(!user) {
res.redirect('/login');
}
else {
res.render('report/search');
}
res.redirect前添加一個'return'? –
..或使用「if」塊。 – dfsq