首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node - connect-flash不工作

Node - connect-flash不工作
EN

Stack Overflow用户
提问于 2017-05-29 22:07:32
回答 1查看 2.9K关注 0票数 1

我试图用connect-flash显示一条错误消息,但似乎不起作用。我已经尝试了几种方法来完成这项工作,但所有方法都有效。我有一个类似配置代码的web应用程序,运行起来没有任何问题。

下面是我的代码:

代码语言:javascript
复制
const express = require('express')
const moment = require('moment')
const morgan = require('morgan')
const bodyParser = require('body-parser')
const db = require('./configs/db')
const flash = require('connect-flash')
const session = require('express-session')
const cookieParser = require('cookie-parser')
const app = express()

app.set('view engine', 'ejs')
app.set('views', 'views')
app.set(db)
app.use(bodyParser.urlencoded({extended:true}))
app.use(bodyParser.json())
app.use(morgan('dev'))
app.use(cookieParser())
app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true }
}))
app.use(flash());
var sessionFlash = function(req, res, next) {
    res.locals.currentUser = req.user;
    res.locals.error = req.flash('error');
    res.locals.success = req.flash('success');
    next();

}
app.use(sessionFlash)




app.get('/', function (req, res) {
  req.flash('error', 'Welcome');
  res.render('test', {
    title: 'Home',
  })
});
app.get('/addFlash', function (req, res) {
  req.flash('error', 'Flash Message Added');
  res.redirect('/');
});

我的EJS文件:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Test</title>
  </head>
  <body>
  <%  if(error){ %>
      <div class="">
          <h1><%=error%></h1>
      </div>
    <% } %>
  </body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2017-05-29 22:17:58

我将猜测您没有通过HTTPS为您的服务器提供服务,在这种情况下,以下情况将阻止设置会话cookie:

代码语言:javascript
复制
cookie: { secure: true }

参见the documentation

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44244491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档