【问题标题】:Loop Through Array With Node.JS and EJS使用 Node.JS 和 EJS 遍历数组
【发布时间】:2018-02-22 06:29:46
【问题描述】:

我正在尝试使用 EJS 作为模板引擎使用 Node.js 制作待办事项应用程序。所有对象都在 3 个数组中:主题、日期和详细信息。它们在数组中。

我在特快路线中使用此代码:

app.get('/dashboard', function (req, res) {
      var subjects = [];
      var duedates = [];
      var details = [];
      var ids = [];

      var userId = 'some user provided value';
      var sql = 'SELECT * FROM assignments WHERE owner = "' + req.user.email + '"';
      connection.query(sql, function (error, results, fields) {
        if (error) throw error;

        for (i = 0; i < results.length; i++) {

          subjects.push(results[i]['subject']);
          duedates.push(results[i]['duedate']);
          details.push(results[i]['details']);
          ids.push(results[i]['id']);

          console.log(details)

          //res.render('dashboard',{username:req.user.email, subject: subjects, date: duedates, detail: details, id: ids});
        } // ...
      });
    });

以及 EJS 模板上的这段代码:

<!DOCTYPE html>
<html>

<head>
    <title>Pencil and Pens</title>
</head>

<body>
    <center>
        <h1>Pencil and Pens</h1>
        <h2>Welcome:
            <%= username %>
        </h2>
        <form action="/addassignment" method="post">
            Subject: <input type="text" id="subject" name="subject"> Due Date: <input type="duedate" name="duedate"> Details:
            <input type="details" name="details">
            <input type="submit" value="Add Assignment...">
        </form>
        <br />
        <div id="assignmentbody">
            <% for(var i=0; i < subject.length; i++) { %>
                <%= subject[i] %> |
                    <%= date[i] %> |
                        <%= detail[i] %>
                            <form style="display:inline-block;" action="/deleteAssignment" method="post">
                                <% } %>
        </div>
    </center>
    <script type="text/javascript">
    </script>
</body>

</html>

即使数组中有 3 个,也只显示第一个条目。

非常感谢!

本费恩

【问题讨论】:

    标签: mysql node.js express ejs


    【解决方案1】:

    通过阅读您的代码,我看到 3 个数组 subjectsduedatesdetails 名称不同我的意思是您缺少 's' 用于所有 3 个数组,同时显示在 for 循环内。添加这些。它会正常工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-18
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2022-08-22
      • 2014-07-31
      • 1970-01-01
      • 2023-01-28
      相关资源
      最近更新 更多