0

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

添加新学生

13| >> 14|

欢迎:<%= user.local.name %>

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:

这是我的路线:

  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 进行模板。我不确定为什么我没有定义用户,即使在渲染学生视图时将其作为对象传递。

4

1 回答 1

0

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

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

于 2015-10-14T15:00:07.493 回答