javascript - "SyntaxError: missing ) after argument list in views\contact-form.ejs while compiling ejs"错误可能是什么原因导致的?

标签 javascript node.js express ejs

我已经阅读了大量与此错误相关的帖子,但似乎没有一个涉及 EJS。诚然,我对 EJS(以及一般的 JS)非常陌生,所以如果修复对于经验丰富的开发人员来说是简单且明显的,我不会感到震惊。

我的 contact-form.ejs 文件中有一个 EJS 片段,当用户未正确或完整填写表单时,它会以 Flash 消息的形式将验证错误传递到页面。但是,当我尝试导航到联系表单页面时,我的语法会引发上述错误。

我已经研究了两天,并在故障排除方面进行了几次无效的尝试。这是有问题的代码:

<%- messages('message', locals) %>

<% if (errors !== undefined) { %>
    // Output the errors to the page
    <% errors.forEach(function(error) { %>
        <div class="alert alert-danger">
            <%= ${error.message} %>
        </div>
    <% }) %>
<% } %>

最佳答案

我认为你混淆了模板语言。尝试删除第 7 行 error.message 周围的 ${},例如:

<%- messages('message', locals) %>

<% if (errors !== undefined) { %>
    // Output the errors to the page
    <% errors.forEach(function(error) { %>
        <div class="alert alert-danger">
            <%= error.message %>
        </div>
    <% }) %>
<% } %>

关于javascript - "SyntaxError: missing ) after argument list in views\contact-form.ejs while compiling ejs"错误可能是什么原因导致的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53979336/

相关文章:

javascript - 如何在 html 中使用 field-wrap 标签添加复选框?

javascript - 如何在 webix 应用程序的 codemirror 编辑器中向下滚动到找到并突出显示的模式的位置

node.js - Express.js 项目结构

node.js - "This site can’ t be reached"using Nginx as reverse proxy for Express Nodejs

Node.js Express 3.x 将变量传递给 View

javascript - Nodejs - Req.body 在 express 4.9.0 后未定义

javascript - 使用 lodash 压缩不同大小的数组

node.js - Hapi.js Catbox Redis 返回 "server.cache is not a function"

Javascript 代理和传播语法,结合 console.log

javascript - 如何发送json格式到服务器