2015-05-31 47 views
5

मैं नोड के लिए नया हूँ की आवश्यकता है और मैं बहुत यकीन है कि मैं बीच वेयर की स्थापना की और फ्लैश संदेश का उपयोग करने को व्यक्त किया है लेकिन मैं अभी भी त्रुटि मिलती हूँ:त्रुटि: req.flash() सत्र

Error: req.flash() requires sessions

सेटअप

//express.js 
    var flash = require('connect-flash') 

    module.exports = function (app, config, passport) { 
     app.use(flash()); 
    }; 

//route js 
    exports.loginGet = function (req, res) { 
     res.render('users/login', { 
     title: 'Login', 
     message: req.flash('error') //error in question 
     }); 
    }; 

और क्या मुझे यकीन है कि मैं सब कुछ सही ढंग से स्थापित किया है बनाने के लिए और काम कर इसे पाने के लिए कर सकते हैं?

+1

https://github.com/jaredhanson/connect-flash#express-3x। आपको सत्र मिडलवेयर का उपयोग करने की आवश्यकता है, इस प्रकार त्रुटि संदेश 'req.flash() को सत्रों की आवश्यकता है – andars

उत्तर

7

readme (जोर मेरा) से:

Flash messages are stored in the session. First, setup sessions as usual by enabling cookieParser and session middleware. Then, use flash middleware provided by connect-flash.

एक्सप्रेस 4 के साथ express-sessions का उपयोग करना, cookieParser नहीं रह गया है की आवश्यकता है।

var session = require('express-session'); 

//... 


app.use(session({ cookie: { maxAge: 60000 }, 
        secret: 'woot', 
        resave: false, 
        saveUninitialized: false})); 
+0

एक्सप्रेस v2 और 3 से express.XXX का उपयोग नहीं कर रहा है? मैंने सोचा कि उन्होंने इस फीचर्स को एक्सप्रेस से हटा दिया और उन्हें एकल मिडलवेयर बनाया? –

+0

मेरा बुरा - आप सही हैं। मैंने तदनुसार अपना जवाब अपडेट किया है। – andars

संबंधित मुद्दे