EJS文件无法读取数组变量

时间:2019-03-27 08:09:23

标签: html node.js ejs

我创建了一个for循环,用于在使用对象渲染ejs页面时创建记录表(要求)。 我想创建一个按钮,根据每个记录从mongodb的ID将每个记录链接到另一个页面。为此,我将每个对象_id存储到另一个名为会场ID的数组中。 我现在面临的问题是,当我将它添加到这样的链接时,该程序无法读取会场ID [i]:

<td> <button   onclick="location.href = `/dashboard/requests/details/${venueID[i]}`"

每当我单击按钮时,我都会收到一条错误消息,提示未定义会场ID。 尽管我可以使用console.log(venueID [i])在控制台上输出它。

我该如何解决?

完整代码:

 <% var venueID=[]; %>
            <% for(var i=0; i<requested.length; i++) { %>

              <% venueID[i]=requested[i]._id %>

                <tr>
                      <td><%= venueID[i]%></td>
                      <td><%= requested[i].roomNo %> </td>   
                      <td><%= requested[i].requests.user.name %> </td>
                      <td><%= requested[i].requests.time%> </td>  
                      <td> <button   onclick="location.href = `/dashboard/requests/details/${venueID[i]}`">View Details</button> </td>


                </tr>
            <% } %>

1 个答案:

答案 0 :(得分:0)

以这种方式使用onclick属性。

<td> <button   onclick="location.href = `/dashboard/requests/details/<%= venueID[i] %>`">View Details</button> </td>

或直接使用requested

<td> <button   onclick="location.href = `/dashboard/requests/details/<%= requested[i]._id %>`">View Details</button> </td>

或者,您可以使用<a>标签进行导航。例如:

<td><a href="/dashboard/requests/details/<%= requested[i]._id %>" > <button>View Details</button></a> </td>