我正在使用ExpressJS和Passport来验证本地用户,理想情况下,我想在成功或失败时同时使用JSON对象和重定向进行回复。我的代码现在看起来像这样:
app.post('/login', function(req, res, next) {
passport.authenticate('local-signin', function(err, user, info) {
if (err) {
return next(err);
}
if (!user) {
res.json(false);
return res.redirect('/signin');
}
req.logIn(user, function(err) {
if (err) {
return next(err);
}
res.json(user);
return res.redirect('/');
});
})
(req, res, next);
});
问题是res.json()和res.redirect()都会导致响应完成。有没有办法让两者一起发生?我想发送JSON以及重定向的原因是登录还需要在移动应用程序中工作,对于该移动应用程序,重定向似乎没有做任何事情。
如果有更好的方法可以实现这一点,那也很棒,但我想以JSON身份发送的其他信息在网站方面也会有所帮助。
谢谢!
编辑:看起来我可以使用2条不同的路线,但是,我仍然想知道它是否可以发送JSON和重定向。