消息未定义

时间:2018-04-23 15:17:24

标签: node.js ejs

我正在学习使用Nodejs和Mysql创建注册页面的教程:https://www.js-tutorials.com/javascript-tutorial/node-js-user-authentication-using-mysql-express-js/

但在某种程度上遇到了下面的问题,我找不到任何解决方案。希望你们能帮忙。提前谢谢!

错误日志

ReferenceError: C:\Users\User\Desktop\nodejstest\nodejsmysql\webapp\views\index.ejs:18
    16|  
    17|                     <div style="padding-top:30px" class="panel-body" >
 >> 18|                                                                         <% if (message.length > 0) { %>
    19|                                                                                     <div class="alert alert-danger col-sm-12"><%= message %></div>
    20|                                                                         <% } %>
    21|                            

message is not defined

Index.js

var express = require('express');
var router = express.Router();

/* GET home page. */
exports.index = function(req,res){
    var message = '';
    res.render('index',{message: message});
}



router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

Index.ejs

         <div style="padding-top:30px" class="panel-body" >
                                                                <% if (message.length > 0) { %>
                                                                            <div class="alert alert-danger col-sm-12"><%= message %></div>
                                                                <% } %>

1 个答案:

答案 0 :(得分:0)

exports.index = function(req,res){
    var message = '';
    res.render('index',{message: message});
}

router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

这不对。

你没有按照教程来写信 要使其正常工作,请删除exports.index位,然后执行:

router.get('/', function(req, res, next) {
  var message = '';
  res.render('index', {message: message});
});

在您的示例中,从教程中,您已经错过了

  

步骤5:创建一个新文件routes / index.js

并且只是将{ title: 'Express' }返回到您的视图 - 没有message