gpt4 book ai didi

node.js - 使用带有护照 js 的 Node js 不会在 Handlebars 模板上显示 Flash 消息

转载 作者:太空宇宙 更新时间:2023-11-04 02:09:29 26 4
gpt4 key购买 nike

我尝试使用 connect-flash 包在 Handlebars 模板中显示消息,但当我在登录页面中使用 {{loginMessage}} 时,消息未显示及其打印计数。但不显示消息。 这是我的代码

文件..routes/index.js

 var express =  require('express');
var router = express.Router();
var mongoose = require('mongoose');
var flash = require('connect-flash');
const m_db = require('.././config/mongo_connection');
var Site = require('.././models/site');
var User = require('../models/user');
var bcrypt = require('bcrypt-nodejs');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
require('.././config/passport')(passport);
//routes start here
router.get('/login', function(req, res, next) {
res.render('passports/login.hbs', { message: req.flash('loginMessage','failed login') });

})

我的app.js

  app.use(require('express-session')({
secret: 'keyboard cat',
resave: false,
saveUninitialized: false
}));
app.use(flash());
//
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));
// passport config

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', index);
app.use('/users', users);
app.use('/api', api);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});

// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};

// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;

请帮忙!谢谢!

最佳答案

router.get('/login', function(req, res, next) {           

res.render('passports/login.hbs', { message: req.flash('loginMessage') });
.
.

我想说的是:

req.flash('loginMessage','failed login')  

用于设置flash变量名loginMessage登录失败

req.flash('loginMessage')

这是您读取稍后设置的闪光灯的时间。上面的代码返回loginMessage的闪现消息数组(如果设置了多个闪现)。

关于node.js - 使用带有护照 js 的 Node js 不会在 Handlebars 模板上显示 Flash 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42899998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com