javascript - 未捕获的 TypeError : $. tmpl 不是函数

标签 javascript jquery ajax jquery-templates

我正在使用 JQuery 模板功能在 html 页面中呈现模板。 我已经使用

加载了库
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.js"></script> 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.js"></script>

现在,点击按钮后,我将调用函数 displayProducts() 并使用 ajax 调用后端 Java 服务来获取 JSON 格式的数据。 responseJson 是我从后端返回的数据。

我的模板文件名为productList.html。成功后,我将调用 jquery 的 tmpl 函数。但它显示以下错误。

Uncaught TypeError: $.tmpl is not a function

请指出我的代码中有什么问题。

function displayProducts() {
    $.ajax({
                url : 'DisplayProducts',
                data : {
                    searchKey : $('#searchText').val()
                },
                success : function(responseJson) {
                    console.log(JSON.stringify(responseJson));
                    $.get('template/productList.html', function(htmlTemplate) {
                        $.tmpl(htmlTemplate, responseJson).appendTo('#container2');
                    });                     
                }
            });
}

编辑:

当我使用时

var blogPosts = [
             {
                 postTitle: "How to fix a sink plunger in 5 minutes",
                 postEntry: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.",
                 categories: ["HowTo", "Sinks", "Plumbing"]
             },
             {
                 postTitle: "How to remove a broken lightbulb",
                 postEntry: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.",
                 categories: ["HowTo", "Lightbulbs", "Electricity"]
             },
             {
                 postTitle: "New associate website",
                 postEntry: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna."
             }
         ];
         $.get('template/sample.html', function(template) {
             $.tmpl(template, blogPosts).appendTo('#container3');
         });

在<script>标签内。它运行良好。但是当我使用我之前发布的方式时,它显示了错误。

最佳答案

我在我的项目中修复了这个错误,我刚刚将此链接添加到 jQuery 资源:

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>

关于javascript - 未捕获的 TypeError : $. tmpl 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42831017/

相关文章:

javascript - 将事件附加到使用 jQuery 插入的按钮的问题

php - JSON 数据发布但表未填充

javascript - react .js : convert string to an object

javascript - 在只考虑唯一性的情况下,描述性句子可以与 JavaScript 常量一起使用吗?

javascript - 这些天程序员如何处理 ie6 错误?

javascript - Twitter Bootstrap 模式出现在错误的位置,不居中且按钮不可点击

javascript - 动态字段的删除按钮不起作用

javascript - Jquery 中显示/隐藏文本框的问题?

javascript - 我可以使用 createElement 创建一个自闭合元素吗?

PHP 不发送 AJAX 调用的响应文本