2017-03-20 3 views
1

{{ログインメッセージ}ページ。メッセージは表示されません。 は、ここに私のコードパスポートjsのノードjsを使用してフラッシュメッセージが表示されない

file..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; 

です助けてください! ありがとう!私はそれを言いたい何

答えて

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

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

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

loginMessage

failed login
req.flash('loginMessage') 

フラッシュ変数名を設定するためのものであると、これはあなたのあなたが後で設定フラッシュを読んだときでありますに。上のコードは、loginMessageのフラッシュメッセージ(複数のフラッシュが設定されている場合)の配列を返します。印刷{{loginMessageが}}それはすべてのエラーが表示されていませんが、私のエラーが ファイルに設定されているときに私のメッセージ構成はパスポートのjsである返信 ため

+0

ありがとう..:(!ユーザー) 復帰が行われた場合 をpassport.js (null、false、req.flash( 'loginMessage'、 'ユーザーが見つかりません。')); if(!user.validPassword(password)) 戻り値(null、false、req.flash( 'loginMessage'、 'Wrong password。')); return done(null、user); –

+0

ハンドルバーテンプレートのフラッシュメッセージを確認する方法はありますか? –

+0

レンダリングテンプレートの 'message:req.flash( 'loginMessage'、 'failed login')'の代わりに 'req.flash( 'loginMessage')'を試しましたか? – NERDYLIZARD

関連する問題