2017-06-14 2 views
0

Kann mir bitte jemand sagen, warum die Flash-Nachrichten in meinem Fall nicht funktionieren?Node.js Flash-Nachrichten funktionieren nicht

Dies ist, wie ich versuche, es zu benutzen:

Dies ist ein Teil meines app.js:

var express = require('express'); 
var app  = express(); 
var passport = require('passport'); 
var flash = require('connect-flash'); 

var session   = require('express-session'); 
var exphbs   = require('express-handlebars'); 
var passport   = require('passport') 
var RedisStore  = require('connect-redis')(session) 
var redis   = require('redis').createClient(); 

app.use(session({ 
    secret: "I can haz working sessions?", 
    store: new RedisStore({ client: redis }) 
})); 

app.use(flash()); 
app.use(function(req, res, next){ 
    res.locals.success = req.flash('success'); 
    res.locals.errors = req.flash('error'); 
    next(); 
}); 

app.use(passport.initialize()); 
app.use(passport.session()); 

Dies ist, wie ich versuche, es in meinem Controller zu verwenden:

module.exports.storageCreatePost = function(req, res) { 
    req.flash('error', "Test"); 
    res.redirect('/ftp/create'); 
}) 

das ist meine hbs Ansicht, wo die Nachricht sollte machen:

{{#if error}} 
    <p class="alert alert-warning">{{error}}</p> 
    {{/if}} 

Er leitet mich erfolgreich zu /ftp/create aber die Flash-Mitteilung nicht gemacht wird ..

Antwort

0

dieses Fest von res.locals.errors mit res.locals.error

0

In Ihrem app.get('/ftp/create',fun... Controller ersetzen, versuchen Sie die Flash-Mitteilungen wie zu machen,

resp.render('view_fle',{ 
error:req.flash('error') 
...... 
....