2017-03-20 1 views
1

connect-flash 패키지를 사용하여 핸들 막대 템플릿에 메시지를 표시하려하지만 로그인시 {loginMessage}를 사용할 때 메시지가 표시되지 않고 인쇄 카운트가 표시됩니다 페이지. 메시지를 표시하지 않습니다. 여기 내 코드패스포트 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') 

loginMessagefailed login

req.flash('loginMessage') 

에 플래시 변수 이름을 설정하고 귀하의 플래시를 읽을 때입니다 당신의 설정 이후 에. 위 코드는 loginMessage의 플래시 메시지 배열 (두 개 이상의 플래시가 설정된 경우)을 반환합니다. 인쇄 {{로그인 메시지가}}은 오류를 표시하지 않고 내 오류가 파일에 설정되어있는 경우 내 메시지 구성이 여권 JS에 응답 에 대한

+0

덕분에 .. (! 사용자) 반환하는 경우에 을 passport.js (null, false, req.flash ('loginMessage', '사용자가 없습니다.')); if (! user.validPassword (password)) 반환 완료 (null, false, req.flash ('loginMessage', '잘못된 암호.'))); 반환 완료 (null, 사용자); –

+0

핸들 바 템플릿에서 플래시 메시지를 어떻게 확인할 수 있습니까? –

+0

템플릿을 렌더링 할 때'message : req.flash ('loginMessage', 'failed login')'대신'message : req.flash ('loginMessage')'를 시도 했습니까? – NERDYLIZARD

관련 문제