我的页面上显示了一个未定义的字符串,除了可能导致它的函数之外,我不知道为什么它是它们的,我只能通过显示分配的控制台错误来找到问题。 我相信当我调用模板时 Mustache 会以某种方式执行此操作。 ” 不明确的 ”
问题是我如何摆脱注入(inject)到我的页面中的这个未定义的字符串。任何帮助将不胜感激。
代码:正在调用的函数以某种方式或原因在我的 div 中显示未定义的字符串
getProjects: function(){
portfolio.topOfPage();
var request1 = $.ajax({
url: "js/projects.js",
dataType:'json',
cache: true,
}).then(function(response){
var data = response.projects;
var template = $('#projects_tmp').html();
var projects;
$.each(data, function(key,val){
console.log("Key: "+key+", Value: "+val);
projects += Mustache.to_html(template, val);
});
return projects;
});
我的 mustache 模板:
<script id="projects_tmp" type="text/template">
<div class='small-6 medium-3 large-2 columns left thumb {{{genre}}}' data-id='{{{id}}}'>
<div class='project'><figure><img src='{{{largePic}}}' alt='' />
<figcaption class='caption'><span>{{genre}}</span></figcaption class='caption'></figure></div>
</div>
</div>
</script>
最佳答案
问题是您的 projects
变量应该有一个默认值 '',当您执行 projects +=
时,在 getProjects 方法中它会添加未定义的值,该值来自默认。
关于javascript - 我的网站上显示无法解释的未定义字符串。不知道如何摆脱它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28734841/