偶尔ESC不EJS功能
问题描述:
我是有麻烦搞清楚我的这个问题, 这里是我的EJS代码偶尔ESC不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') %>" />
如果我删除此行的代码,这将每工作时间(当然没有图像)
在此先感谢
答
这通常当一个对象在ejs模板中未定义时触发,这可能是您的情况的原因。
检查每次迭代中是否有值posts[i]
。解决了这个问题。