javascript - 无法在缩略图中显示来自 ajax 请求的数据

标签 javascript jquery html twitter-bootstrap

我有下面的代码,由于某种原因,我无法替换var缩略图中的{photo}{name}以及我数据库中的一些值。如果我尝试控制台记录值,我可以看到它们,但在前端我只得到一个 {name} 和默认图像图标,就像替换功能根本不起作用。我看不出这里有什么问题,有人可以解释一下吗?

var p = {};

var searchInput = $("#category").tagsinput('items');

var thumbnail = '<div class="col-lg-12">\
 <div class="thumbnail">\
   <img src="{photo}" alt="img">\
     <div class="caption">\
       <h4><a href="">{name}</h4>\
   </div>\
 </div>\
</div>';

$("#submit-search").on("click",function () {
var myJsonString = JSON.stringify(searchInput.itemsArray);
console.log(myJsonString);

$.ajax({
  "url":"search.php",
  "method":"POST",
  "cache":false,
  "data":{data:myJsonString}
}).done(function (sData) {



   p = JSON.parse(sData);
// console.log(p[0].name);

for (var i = 0; i < p.length; i++) {

  var rTemplate = thumbnail.replace("{{photo}}", p[i].photo).replace("{{name}}", p[i].name);
console.log(p[i].photo);
  $(".rContainer").append(rTemplate);
}


});
});

最佳答案

您正在使用 {var} 作为模板占位符,但您尝试使用 {{var}} 替换它们,这就是它不起作用的原因,请更改您的替换为:

thumbnail.replace("{photo}", p[i].photo).replace("{name}", p[i].name);

关于javascript - 无法在缩略图中显示来自 ajax 请求的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43832199/

相关文章:

javascript - 更改窗口滚动的下拉菜单

javascript - 如何使元素 float 在 Jquery 对话框之外

javascript - jQuery Facebox 插件 : Focus the popup appearance

javascript - 带日期选择器的简单对话框

php - 减少网站加载时间的优化

javascript - 部署页面时 Jquery ajax 调用不起作用

JavaScript:在嵌套生成器中使用 yield 设置值

javascript - highcharts - 如何按总计对 xAxis 类别进行排序?

用于在 HTML 表格行之间添加行的 Jquery 语法

javascript - 当状态对象发生变化时更新上下文