Node.js 如何在ejs视图中传递flash消息
这是我的Node.js 如何在ejs视图中传递flash消息,node.js,ejs,Node.js,Ejs,这是我的user.js,我在这里使用了flash消息。现在,我希望这些消息显示在我的视图中。我使用ejs作为视图模板。如何在视图中传递此值?如何在视图中传递此值?我对注册、登录有不同的看法。我是否需要在每个ejs中声明,或者我们是否可以在一个特定的ejs文件中声明并包含在其他ejs页面中?此节点模块使flash消息易于集成、小巧且易于使用: 用法:(服务器) 用法:(ejs视图) 请求闪存(“成功消息”,“您已注销”);如何在我们注销时显示消息?具体的问题是抛出错误。。{{{{if erro
user.js
,我在这里使用了flash消息。现在,我希望这些消息显示在我的视图中。我使用ejs作为视图模板。如何在视图中传递此值?如何在视图中传递此值?我对注册、登录有不同的看法。我是否需要在每个ejs中声明,或者我们是否可以在一个特定的ejs文件中声明并包含在其他ejs页面中?此节点模块使flash消息易于集成、小巧且易于使用:
用法:(服务器)
用法:(ejs视图)
请求闪存(“成功消息”,“您已注销”);如何在我们注销时显示消息?具体的问题是抛出错误。。{{{{if error{U msg}}{{error{U msg}}{{/if}{{{if error}}{{error}}{{/if}}{{{if}{{{if response}{{response}{if msg}{{当我尝试把手时,这工作正常。但是对于ejs,应该有一些方法。请您建议如何做我正在使用passport验证用户名和密码,如果不匹配,它将抛出未知用户和密码不匹配。我们如何在我的登录中查看这一点。如果我添加此0){%>在我们的login.ejs中,它表示消息未定义,您可以帮助找到在ui中显示响应的解决方案
index.js
/**
* Created by sysadmin on 1/25/2017.
*/
var express = require('express');
var router = express.Router();
var request = require('request');
var session = require('express-session');
var User=require('../models/user');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var sess;
// get register
router.get('/register', ensureAuthenticated,function(req, res){
res.render('register');
});
function ensureAuthenticated(req, res, next){
if(req.isAuthenticated()){
return next();
} else {
//req.flash('error_msg', 'You are not logged in');
res.redirect('/users/login');
}
}
// Login
router.get('/login', function(req, res){
res.render('login');
});
router.get('/admin', function(req, res){
res.render('admin');
});
router.post('/register', function(req, res){
var username=req.body.username;
var password=req.body.password;
var email=req.body.email;
var role=req.body.role;
req.checkBody('username','Name is required').notEmpty();
req.checkBody('password','Password is required').notEmpty();
req.checkBody('email','Email is required').notEmpty();
req.checkBody('role','role is required').notEmpty();
var errors=req.validationErrors();
if(errors){
res.render('register',{errors:errors})
}
else{
var newUser = new User({
username:username,
email:email,
password:password,
role:role
});
User.createUser(newUser,function(err,user){
if(err) throw err;
console.log(user);
});
req.flash('success_msg', 'you are registered');
res.redirect('/users/login');
}
});
passport.use(new LocalStrategy(
function(username, password, done) {
User.getUserbyUsername(username, function(err, user){
if(err) throw err;
if(!user){
return done(null, false, {message: 'unknown user'});
}
User.comparePassword(password, user.password, function(err, isMatch){
if(err) throw err;
if(isMatch){
return done(null, user);
} else {
return done(null, false, {message: 'Invalid password'});
}
});
});
}));
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.getUserbyId(id, function(err, user) {
done(err, user);
});
});
router.post('/login',
passport.authenticate('local', {failureRedirect:'/users/login', failureFlash: true}),
function(req, res) {
sess = req.session;
//In this we are assigning email to sess.email variable.
//email comes from HTML page.
sess.email=req.user.role;
// If this function gets called, authentication was successful.
// `req.user` contains the authenticated user.
console.log(req.user.role);
if(req.user.role == "admin"){
req.flash('isAdmin','admin');
// req.session.role = 'admin';
res.redirect('/');
}
else{
req.flash('otherusers', 'otherusers');
res.redirect('/');
}
});
router.get('/logout', function(req, res){
req.logout();
req.flash('success_msg', 'You are logged out');
res.redirect('/users/login');
});
router.get('/restful', function(req, res){
sess = req.session;
console.log(sess.email);
res.render('restful');
});
router.post('/restful', function(req, res){
var options = {
uri : 'http://192.168.1.6:8080/RestTGRP/TGRP/checkAPI',
method : 'post'
};
var responseFromClient = '';
request(options, function (error, response, body) {
if (!error && response.statusCode == 200) {
responseFromClient = body;
}
else {
responseFromClient = 'Not Found';
}
console.log(responseFromClient);
//res.json(resss);
req.flash('response_msg', responseFromClient);
if(responseFromClient !='Not Found'){
res.redirect('/users/restful');
}
else{
res.redirect('/users/restful');
}
});
});
module.exports = router;
app.get('/logout', function (req, res) {
req.flash('logged', null);
res.render('logout')
});
app.post('/logout', function (req, res) {
req.flash('logged', 'You are logged out');
res.redirect('/logout');
});
<% if(messages.logged){ %>
<%= messages.logged %>
<% }