我的网站上显示无法解释的未定义字符串。不知道如何摆脱它

unexplained undefined string displayed on my website. not sure how to get rid of it

我的页面上显示了一个未定义的字符串,除了可能导致它的函数外,我不知道为什么是它们,我只是通过显示控制台错误的分配来找到问题所在。 我相信当我调用模板时,Mustache 正在以某种方式执行此操作。 “ 不明确的 “

问题是我如何摆脱注入到我的页面中的这个未定义的字符串。任何帮助将不胜感激。

代码:被调用的函数不知何故或原因在我的 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;
            });

我的小胡子模板:

<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>

我在上面发布的代码中看到 3 </div> 和 2 <div>。不确定这是否是问题所在。

问题是您的 projects 变量应该有一个默认值 '',在您执行 projects += 时,在您的 getProjects 方法中它添加了默认的未定义值。