2017-02-26 22 views
1

我的閃存消息出現問題。我的網頁上沒有收到錯誤訊息。請告訴我錯誤在哪裏。護照js中的閃存郵件

PS。對不起,我的英語; d

app.js

要求:快遞,護照,哈巴狗,表達會話,cookie的解析器,連接閃光,身體的解析器...

var router = require('./router.js')(passport); 
var initPassport = require('./passport-init.js'); 

var app = express(); 

app.set('views', __dirname + '/views'); 
app.set('view engine', 'pug'); 

app.use(cookieParser('secret')); 
app.use(session({ cookie: { maxAge: 60000 }, secret: 'secret' })); 
app.use(flash()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(passport.initialize()); 
app.use('/', router); 

initPassport(passport); 

router.js

var express = require('express'); 
var router = express.Router(); 

module.exports = function(passport) { 

    router.get('/', function(req, res) { 
     res.render('index', { 
      title: 'index page' 
     }); 
    }); 

    router.post('/auth',   
     passport.authenticate('local', {   
      successRedirect: '/', 
      failureRedirect: '/', 
      failureFlash: true 
     }) 
    ); 

    return (router); 
}; 

護照init.js

var User = require('./user.js'); 
var LocalStrategy = require('passport-local').Strategy; 

module.exports = function(passport) { 

    passport.use('local', new LocalStrategy({ usernameField: 'email', passwordField: 'pass', passReqToCallback: true }, 

     function(email, pass, done) { 
      User.findOne({ where: { email: email } }).then(function(err, user) { 
       if (err) { 
        return done(err); 
       } 
       if (!user) { return done(null, false, { message: 'Incorrect username.' }); 
       } 
       if (!user.validPassword(pass)) { return done(null, false, { message: 'Incorrect password.' }); 
       } 
       return done(null, user); 
      }); 
     } 
    )); 
}; 

index.pug

include ./headers.pug 

div(class="container") 
    div(class="row head") 
     div(class="col-xs-12") 
      if message 
        p #{message} 

    div(class="row body-left") 
     div(class="col-xs-3") 
      include ./auth.pug 
     div(class="col-xs-9") 

回答

1

記住app.VERB( '路徑',回調)針對例如app.get(各HTTP請求 '/' 實現,回調)執行GET請求到根目錄。 app.use()以相同的方式工作,但不同之處在於它是針對所有請求實施的,無論路徑如何。

這是什麼意思是你只配置你的快速應用程序使用閃存()的所有請求,但你實際上沒有告訴閃光燈何時閃爍消息。

連接閃存使請求使用請求的flash()方法時,此方法是我們用來刷新錯誤的方法。

要閃爍的錯誤訊息,註冊頁面,當錯誤發生時,你就會把你的HTTP請求回調如下:

res.render('signup', { 
    title: 'Sign-up Form', 
    messages: req.flash('error') 
}); 
+0

非常感謝您!是工作。 – ch9ch9n

+0

我不能留下反饋,因爲我沒有15的聲望。抱歉。 – ch9ch9n