ejs模板字符转json对象问题
我数据里的一个image字段的值是一串json字符串,用的mysql
[{"path":"http://zsnice.weharvest.com/msg/nices/f35cd9ca19d04b269474449b547ecfa6.jpeg"},{"path":"http://zsnice.weharvest.com/msg/nices/f35cd9ca19d04b269474449b547ecfa6.jpeg"}]
然后我我在ejs嵌套循环出来的时候报错了。
<% for(var i=0; i< nice.length; i++){ %>
<div class="niceitem">
<a class="avatar"><img src="<%- nice[i].attachPath %>" onerror="javascript:this.src='/images/avatar.png';"></a>
<div class="cont">
<div class="title"><%- nice[i].title %></div>
<div class="weui-uploader images">
<div class="weui-cell__bd">
<div class="weui-uploader__bd">
<ul class="weui-uploader__files">
<% for( var o=0; o < nice[i].image.length; o++ ){ %>
<li class="weui-uploader__file" src="<%- nice[i].image[o].path %>" onclick="prewivew(this)" style="background-image:url(<%- nice[i].image[o].path %>)"></li>
<% } %>
</ul>
</div>
</div>
</div>
</div>
</div>
<% } %>
报了
Cannot read property 'length' of null
image.length 找不到,我就觉得是字符串没转号格式,
然后我在服务器端显吧数据转了下格式
db.nices.findAll({limit:10}).then(function (nice) {
for (var i=0; i<nice.length;i++){
nice[i].image=eval(nice[i].image);
}
res.render("nice/nice", {
nice: nice
});
})
但发现还是不行,求解!
nice[i].image=JSON.parse(nice[i].image);
也试过了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
<% nice = JSON.parse(nice)%>
如果返回的是模板字符串,就定义一个变量将模板字符串转化为对象就好了,然后遍历