是否可以从 XHR 中检索和使用车把模板,而不是使用脚本标签

Is it possible to retrieve and use a handlebars template from an XHR, instead of using the script tag?

本文关键字:标签 脚本 XHR 检索 是否      更新时间:2023-09-26

把手文档显示,通过添加"脚本"节点在页面中插入模板:

<script id="myTemplate" type="text/x-handlebars-template">
    <div>
        <h3>cars</h3>
        <fieldset>
            {{#each model}}
            <label class="labels">
                {{answer}}
            </label>
            <br>
            {{/each}}
        </fieldset>
    </div>
</script>

然后做:

var source = $(#myTemplate).html();
template = Handlebars.compile(source);

然后应用上下文以生成输出 HTML。

但是,我不想在页面中插入脚本,而是只想从我的 Web 服务器的脚本标签中获取所有内容。但是当我尝试从我的 Web 服务器编译源代码时,浏览器控制台抱怨意外的"<"。

我做错了什么?

当然有可能。

在此代码中:

var source = $(#myTemplate).html();
template = Handlebars.compile(source);

只需将第一行替换为通过 Ajax 调用检索 HTML 的 ajax 调用,然后编译获取 HTML 的结果。 因此,您不是从脚本标记中获取 HTML,而是从 ajax 调用中获取它,就像使用 ajax 调用从 Web 服务器获取任何其他数据一样。

如果您正在尝试这样做并得到错误,那么您必须更具体地说明您正在使用的代码,您得到的错误以及您从 ajax 调用中返回的结果,以便我们知道您在哪里出错了。 但是,如果你正确地实现它,这样做是完全合理的。 您不需要通过 Ajax 调用获得的 HTML 中的 <script> 标记,只需要表示模板的原始 HTML 代码段。

相关文章: