如何从ajax成功传递数据并在把手模板中呈现?

问题描述 投票:0回答:1

我在.hbs文件中拥有这个

                    <div class="col-12 col-md-3 order-md-1">
                        <div id="notes">
                            {{#each notes}}
                                {{>note}}
                            {{/each}}
                        </div>
                    </div>

这是我的jquery:

$.ajax({
    url: '/search/notes',
    method: 'GET',
    data: {
        search_string: 'server'
    },
    success: function(response) {
        var source = $('#notes').html()
        var template = Handlebars.compile(source)
        var context = {
            notes : response.notes,
        }
        var el_html = template(context);
        console.log(el_html)
        $('#notes').html(el_html)
    }
})

<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>

我无法在notes上获得id="notes"。结果为空白div。任何帮助吗?

jquery node.js ajax handlebars.js
1个回答
0
投票

可能与您的Ajax响应有关。下面的示例在没有Ajax的情况下工作。

setTimeout(function() {
var source = $('#notes').html()
var template = Handlebars.compile(source)
var context = {
    notes : ["test", "test2"],
}
var el_html = template(context);
console.log(el_html);
$('#notes').html(el_html);
}, 2000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<div class="col-12 col-md-3 order-md-1">
                        <div id="notes">
                            {{#each notes}}
                                {{this}}
                            {{/each}}
                        </div>
                    </div>
© www.soinside.com 2019 - 2024. All rights reserved.