2017-07-22 61 views
0

我的代碼中有一個具有快速會話的節點js。以下是代碼Express JS會話未保存在承諾環境中

s.then(function(value){ 
    console.log("hello" + value.username); 
    req.session.name = value.username; 
    res.send("success"); 
}).catch(function(valuereject){ 
    // console.log(valuereject); 
    res.send(valuereject); 
}); 

當諾言解決後,控制檯將記錄正確的用戶名併發送成功消息。但是,當我試圖在病房後訪問時,req.session.name未更新。這裏是快遞會的聲明

var app = express(); 
app.use(session({ 
    secret: 'Fz}*#hE4"fC,h4Sn', 
    resave: true, 
    saveUninitialized: false, 
    cookie: { secure: true } 
})) 

謝謝!

+0

而你的問題是專門與使用承諾?它在不使用承諾時有效? – robertklep

+0

嗨!我發現問題了。我在非安全env(不是HTTPS)中使用了cookie:{secure:true}。這是問題的原因。我現在把它設置爲false,並且它工作正常! –

回答

0

我發現問題了。我在非安全env(不是HTTPS)中使用了cookie:{secure:true}。這是問題的原因。我現在把它設置爲false,並且它工作正常!