AJAX结果:
当我要在HTML中显示此数据时,其他信息显示正确,但在尝试使用同一循环中的all_images
显示all_amenties
和.each
数据时,显示{{ 1}}。以下是我的代码:
[object] [object]
答案 0 :(得分:1)
您无法将$.each
调用连接到字符串。结果是一个对象 - 因此您在输出中看到的是[Object object]
。
要解决此问题,您可以单独生成字符串并将它们连接起来:
var html = this.all_images.map(function(src) {
return '<div class="item"><img src="' + src + '" alt=""></div>';
}).join('');
html = '<div id="Carousel' + this.product_id + '" class="carousel slide" style="width: auto; margin: 0 auto"><div class="carousel-inner">' + html + '</div><a class="left carousel-control" href="#Carousel' + this.product_id + '" data-slide="prev">‹</a><a class="right carousel-control" href="#Carousel' + this.product_id + '" data-slide="next">›</a></div>';
答案 1 :(得分:0)
只需将$.each
更改为$.map
,在return
之前添加"<div class='item'>"+
,然后在.join('')
之后添加$.map()
。 $.map
为数组中的每个值调用函数,将每个函数的返回值存储在一个新数组中,然后返回它。所以:
$.map([1, 2, 3], function (v) { return v * 2 }).join('') === '246'