【问题标题】:Unexpected token ) in, while compiling ejsUnexpected token ) in,同时编译 ejs
【发布时间】:2019-07-23 23:27:19
【问题描述】:

我正在尝试使用 express-validation 创建验证,但我的 html 页面中有语法错误

如果有人能就我遇到的问题给我一个线索,我将不胜感激。

SyntaxError: Unexpected token ) in /Users/johnmichaelquintero/Projects/rateme/views/user/signup.ejs while compiling ejs. If the above error is not helpful, you may want to try EJS-Lint: https://github.com/RyanZim/EJS-Lint

signup.ejs

<% if(hasErrors) {%>
                <% for(var i=0; i < messages.length; i++) {%>
                    <div class="alert alert-danger">
                        <a href="" class="close" data-dismiss="alert" aria-label="close">
                            &time;
                        </a>  
                    </div>
                    <%= messages[i] =%>
                <% } %>
            <% } %>

user.js:

app.get('/signup', (req, res) => {
        var errors = req.flash('error'); //to get the error message
        console.log(errors);
        res.render('user/signup', {title: 'Signup || RateMe', messages: errors, hasErrors: errors.Length > 0});
    });

【问题讨论】:

  • 我一直没有使用 EJS,但是 &lt;%= messages[i] =%&gt; 这一行看起来不正确 - 您不需要关闭 =,对吗?似乎它可能将其解释为赋值运算符?

标签: javascript html css node.js ejs


【解决方案1】:

问题在于messages[i] 之后的=%&gt;。那里不应该有等号。

这应该可行:

<% if(hasErrors) {%>
                <% for(var i=0; i < messages.length; i++) {%>
                    <div class="alert alert-danger">
                        <a href="" class="close" data-dismiss="alert" aria-label="close">
                            &time;
                        </a>  
                    </div>
                    <%= messages[i] %>
                <% } %>
            <% } %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    相关资源
    最近更新 更多