gpt4 book ai didi

html - Express 和 ejs 中的 Flash 消息不显示

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

我根据 sqlite3 的教程之一制作了一个身份验证应用程序。一切工作正常,直到我将 View 从 Handlebars 更改为 html 文件。

身份验证系统可以工作,但我无法弹出闪现消息。也许你可以给我一些建议。

我的中间件:

var express = require('express');
var path = require('path');
var app = express();
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var exphbs = require('express-handlebars');
var expressValidator = require('express-validator');
var flash = require('connect-flash');
var session = require('express-session');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

app.set('views', path.join(__dirname, 'views'));
app.engine('.html', require('ejs').__express);
app.set('view engine', 'html');

app.use(express.static(path.join(__dirname, 'public')));

app.use(function(req,res,next) {
res.locals.success_msg = req.flash('success_msg');
res.locals.error_msg = req.flash('error_msg');
res.locals.error = req.flash('error');
res.locals.users = req.user || null;
next();
});

本例中的服务器端:

router.post('/login', 
passport.authenticate('local',{ successRedirect: '/play/gallery',failureRedirect: '/users/login',failureFlash:true }),
function(req,res) {
res.redirect('/');

req.flash('success_msg','You are logged in');

});

router.get('/logout',function(req,res){
req.logout();

req.flash('success_msg','You succesfully logged out');

res.redirect('/users/login');
})

例如我使用的register.html:

<%= if (error_msg) { %>

<div class="alert alert-danger"> You are not loged in</div>
<% } %>

任何人都可以帮助我如何声明代码,因为这甚至不会加载注册页面。

提前谢谢您。

最佳答案

我自己解决了:

 <% if (error.length > 0){ %>

<div class="alert alert-danger"><%= error %></div>

<% } %>

<% if (success_msg.length > 0){ %>

<div class="alert alert-success"><%= success_msg %></div>

<% } %>
<% if (error_msg.length > 0){ %>

<div class="alert alert-danger"><%= error_msg %></div>

<% } %>

关于html - Express 和 ejs 中的 Flash 消息不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40128387/

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