我无法弄清楚我的这个问题, 这是我的ejs代码的一部分
<div class="row">
<% for (var i = 0; i < posts.length; i++) { %>
<div class=<%if(posts.length>1){%>"col-xs-12 col-sm-6 col-md-6"<%}else{%>"col-sm-12" <%}%> >
<div class="thumbnail col-sm-12 col-md-12">
<img src="data:image/jpeg;base64,<%= posts[i].file[0].buffer.toString('base64') %>" />
<div class="caption">
<h3><%= posts[i].title %></h3>
<ul>
<li>Product Type: <%= posts[i].category %></li>
<li>Suburb: <%= posts[i].suburb %></li>
<li>Description: <%= posts[i].description %></li>
<li>Target: <%= posts[i].target %></li>
</ul>
<p><a href="#" class="btn btn-primary" role="button">Details</a> <a href="#" class="btn btn-default" role="button">Wishlist</a></p>
</div>
</div>
</div>
<% }; %>
</div>
它显示了一堆产品信息,包括图像,但有时我得到typeError - esc不是一个函数,有时它工作正常。 我注意到问题在于:
<img src="data:image/jpeg;base64,<%= posts[i].file[0].buffer.toString('base64') %>" />
如果我删除这行代码,它每次都会工作。(当然没有图像)
提前致谢
答案 0 :(得分:0)
这通常在ejs模板中未定义对象时触发,这可能是您的理由。
检查每次迭代中是否有posts[i]
的值。这解决了这个问题。