如何在EJS

时间:2016-07-06 11:42:55

标签: javascript json ejs

我只想将EJS对象发送到javascript函数。我试过下面的代码,但它没有用。

<% books.forEach(function(book){ %>
    <button onclick="getBookDetails(<%=book %>);" > <%=book.name %></button>
  <% }); %>

我的JavaScript代码是

function getBookDetails(book){
   //using book object
}

我也尝试了以下内容。但它没有帮助。getBookDetails(<%=JSON.stringify(book) %>);

请帮我找错。

2 个答案:

答案 0 :(得分:0)

您应使用单引号将ejs的“字符串化”值包装起来,例如' <%= JSON.stringify(book)%> '

<% books.forEach(function(book){ %>
    <button onclick="getBookDetails('<%= JSON.stringify(book) %>')"><%= book.name %></button>
<% }) %>

首先在JS函数内部进行解析:

function getBookDetails(bookString){
   let book = JSON.parse(bookString)
   // now you can use the book object
}

答案 1 :(得分:0)

您应该删除JSON.parse().console.log(bookString)
对我有用。