0
我不知道爲什麼express-messages不起作用。我在app.js中指定它,在路由器/控制器和視圖中指定它。節點Express Flash消息不工作
這是我app.js的一部分:
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
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');
app.use(flash());
app.use(require('connect-flash')());
app.use(function (req, res, next) {
res.locals.messages = require('express-messages')(req, res);
if(req.url == '/'){
res.locals.isHome = true;
}
next();
});
這是我的路,我指定flash消息:
router.post('/login', passport.authenticate('local', {failureRedirect: '/', failureFlash: 'Invalid username or password'}), function(req, res){
console.log(req.body);
console.log('Authentication Successful');
req.flash('success', 'You are logged in');
var usertype = req.user.type;
res.redirect('/'+ usertype + 's/classes');
});
router.get('/logout', function(req, res){
req.logout();
req.flash('success', "You have logged out");
res.redirect('/');
})
這是我的車把觀點,我有消息的標籤:
<div class="col_12">
<div class="col_9">
{{{messages}}}
{{#if errors}}
{{#each errors}}
<div class="notice error">
<i class="icon-remove-sign icon-large"></i>
{{msg}}
<a href="#close" class="icon-remove"></a>
</div>
{{/each}}
{{/if}}
{{{body}}}