Я использую NodeJS для создания службы REST API. Мне не нужно отображать любые веб-страницы или файлы ejs.Render JSON как ответ в NodeJS
С учетом этого мне нужно знать, есть ли аркитектура для сохранения шаблонов JSON, таких как папка «views» для хранения шаблонов .ejs, чтобы использовать их в качестве ответа, скажем, профиля.
Кроме того, я работал с паспортным модулем для аутентификации пользователей, и я не могу передать мгновенное сообщение в ответ JSON, до сих пор это, как это выглядит:
passport.use('local.signup', new LocalStrategy({
usernameFiled : 'email',
passwordField : 'password',
passReqToCallback : true
}, function(req, res, password, done){
User.findOne({'email' : email}, function(err, user){
if (err)
return done(err);
if (user)
return done(null, false, {message : 'Email already in use'});
var newUser = new User();
newUser.email = email;
newUser.password = newUser.encryptPassword(password);
newUser.save(function(err, result){
if (err)
return done(err);
return done(null, newUser);
});
});
})) ;
И это моя маршрутизация:
app.post('/signup', passport.authenticate('local.signup', {
successRedirect : '/me',
failureRedirect : '/loginerr',
failerFlash : true
}));
/*===== SECURE ==== */
app.get('/me', function(req, res, next){
res.end('Welcome user');
});
/* ========== Errors ====================== */
app.get('/loginerr', function(req, res, next){
var message = req.flash('error');
res.setHeader('Content-Type', 'application/json');
res.json({'error' : 'email already taken'}); //Here i should use the flash message instead.
});
Как вы можете видеть, если есть ошибка, когда пользователь подписывает вверх, он перенаправляется к/loginerr получить, вместо того, что я хочу, чтобы ответить с шаблоном в формате JSON, чтобы ответить на сообщение флэш ,
Как я могу это сделать?