【问题标题】:Unable to display error message in view using ejs templates无法使用 ejs 模板在视图中显示错误消息
【发布时间】:2020-08-11 08:04:12
【问题描述】:

我是 node.js 的新手。我无法使用 ejs 模板在视图中显示错误消息。我想显示 此用户已存在。这是我的代码:

node.js

router.post('/signup', (req, res) => {

    var username = req.body.username;
    var email = req.body.email;
    var password = req.body.password;
    let err_msg = '';

    db.query('SELECT * FROM user_data WHERE username = ? and email = ?',  [username,email],(err,rows) => {

        if(err) 
        {
            err_msg = "Some error occured , plz register again.";
            return res.render('signup', { err_msg: err_msg } );
        }

        if (!rows.length)
        {
            db.query('INSERT INTO `user_data`(`username`,`email`,`password`) VAlUES (?, ?, ?)', [username,email,password], (err, results) => {
        return res.redirect('login'); 
        });

        }
        else
        {
            err_msg = "This user already exists.";
            return res.render('signup', { err_msg: err_msg } );
        }
    });
});

HTML 代码

<div class="alert alert-danger" role="alert"><%= err_msg %></div>

【问题讨论】:

  • 你在这里遇到什么错误?此外,在 ejs 模板中,您将 err_msg 称为 error_msg 它应该给出错误。
  • 抱歉,这是 HTML 代码中的 err_msg,我得到的错误是 err_msg 未定义...
  • 好吧,改了那个错误之后,这个错误应该不会再出现了,因为之前没有定义。
  • 我想显示来自服务器的错误信息..

标签: javascript mysql node.js ejs registration


【解决方案1】:
<% if(locals.err_msg) { %>
<div class="alert alert-danger" role="alert"><%= err_msg %></div>
<% } %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2021-03-16
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 2019-06-05
    • 2020-09-28
    相关资源
    最近更新 更多