首页 > 解决方案 > Unable to display error message in view using ejs templates

问题描述


I am new to node.js. I am unable to display error messages in view using ejs templates.I want to display This user already exists.Here is my codes :

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 Code

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

标签: javascriptmysqlnode.jsejsregistration

解决方案


<% if(locals.err_msg) { %>
<div class="alert alert-danger" role="alert"><%= err_msg %></div>
<% } %>

推荐阅读