connect-flash 中间件不显示消息

Posted

技术标签:

【中文标题】connect-flash 中间件不显示消息【英文标题】:connect-flash middleware not displaying messages 【发布时间】:2016-01-12 13:51:16 【问题描述】:

我一直在尝试使用 connect-flash 中间件来获取消息,但它似乎不起作用。我收到以下错误:ReferenceError: /Users/zc/Documents/tutorials/node-auth/views/addstudent.ejs:14 12|

添加新学生

13| >> 14|

欢迎:

15| 16| 17|用户未在 eval 处定义(eval at (/Users/zc/Documents/tutorials/node-auth/node_modules/ejs/lib/ejs.js:464:12), :11:23) 在 returnedFn (/Users/zc /Documents/tutorials/node-auth/node_modules/ejs/lib/ejs.js:493:17) 在 View.exports.renderFile [作为引擎] (/Users/zc/Documents/tutorials/node-auth/node_modules/ejs /lib/ejs.js:350:31) 在 View.render (/Users/zc/Documents/tutorials/node-auth/node_modules/express/lib/view.js:76:8) 在 Function.app.render ( /Users/zc/Documents/tutorials/node-auth/node_modules/express/lib/application.js:502:10) 在 ServerResponse.res.render (/Users/zc/Documents/tutorials/node-auth/node_modules/express /lib/response.js:777:7) 在 ServerResponse.res.render (/Users/zc/Documents/tutorials/node-auth/node_modules/express-flash/lib/express-flash.js:29:16) 在询问。 (/Users/zc/Documents/tutorials/node-auth/app/routes.js:78:15)在/Users/zc/Documents/tutorials/node-auth/node_modules/mongoose/node_modules/kareem/index.js: 177:19 at /Users/zc/Documents/tutorials/node-auth/node_modules/mongoose/node_modules/kareem/index.js:109:16 at doNTCallback0 (node.js:407:9) at process._tickCallback (node. js:336:13)

这是我的路线:

  app.post('/addstudent', isLoggedIn, function(req, res)
  console.log(req.body.selectoptions);
  var studentDetails = ;
  var newStudent = new Student(studentDetails);  
  newStudent.save(function(err, student)
    if (err) throw err; 
    console.log(student); 
   res.render('student', 
    user: req.user
  ); 
  );

);

我正在使用 ejs 作为模板。我不确定为什么我没有定义用户,即使在渲染学生视图时将其作为对象传递。

【问题讨论】:

【参考方案1】:

检查客户端是否成功发送flash消息到服务器。我认为req.user 可能未定义。

客户端 javascript 或其他东西可能无法加载 connect-flash 请求的正文。

【讨论】:

以上是关于connect-flash 中间件不显示消息的主要内容,如果未能解决你的问题,请参考以下文章

错误:req.flash() 需要会话

Django 在每个视图中显示消息

express中使用 connect-flash 及其源码研究

什么是消息中间件

RabbitMQ消息中间件介绍

高并发场景下,如何保证生产者投递到消息中间件的消息不丢失?石杉的架构笔记