nodejs express-session使用時 req.session undefined問題


TypeError: Cannot set property 'user' of undefined

  今天在學習session過程中,往req.session屬性賦值時總是報以上的錯誤,

經過在網上查找解決方案和自己測試,終於找到解決方案,記錄下。方便以后遇到同樣的問題的同學。

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/logout', indexRouter);
app.use('/home', indexRouter);


app.use(session({
  secret :  'secret', // 對session id 相關的cookie 進行簽名
  resave : true,
  saveUninitialized: false, // 是否保存未初始化的會話
  cookie : {
    maxAge : 1000 * 60 * 3, // 設置 session 的有效時間,單位毫秒
  },
}));

 報錯時是把session寫在路由的下面導致一直報錯。

解決方法很簡單,變換下順序就可以了, 即把session的寫在路由的上方去

app.use(session({
  secret :  'secret', // 對session id 相關的cookie 進行簽名
  resave : true,
  saveUninitialized: false, // 是否保存未初始化的會話
  cookie : {
    maxAge : 1000 * 60 * 3, // 設置 session 的有效時間,單位毫秒
  },
}));

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/logout', indexRouter);
app.use('/home', indexRouter);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM