2016-10-19 1 views
0

Ich habe eine Authentifizierungs-App nach einem der Tutorials mit sqlite3 gemacht. Alles funktionierte gut, bis ich die Ansichten vom Lenker in HTML-Dateien änderte.Flash-Nachrichten in Express und EJS nicht angezeigt

Das Authentifizierungssystem funktioniert, aber ich kann die Flash-Nachrichten nicht öffnen. Vielleicht könntest du einen Rat für mich haben.

Meine Middleware:

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(); 
}); 

Server-Seite in diesem Beispiel:

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'); 
}) 

und zum Beispiel die register.html, wo ich diese verwenden:

<%= if (error_msg) { %> 

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

mir jemand helfen könnte, ein bisschen, wie man den Code deklariert, weil dies die Registrierungsseite nicht einmal lädt.

Vielen Dank im Voraus.

Antwort

2

von mir gelöst:

<% 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> 

<% } %> 
Verwandte Themen