簡體   English   中英

未捕獲的TypeError:$ .tmpl不是函數

[英]Uncaught TypeError: $.tmpl is not a function

我正在使用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>

現在,在Button命中時,我正在調用函數displayProducts()並使用ajax調用后端Java Service來獲取JSON格式的數據。 responseJson是我從后端獲取的數據。

我的模板文件名為productList.html。 成功的話,我正在調用jquery的tmpl函數。 但是它顯示以下錯誤。

未捕獲的TypeError:$ .tmpl不是函數

請提出我的代碼有什么問題。

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.tmpl.min.js'參考,此處為鏈接文件。 https://github.com/BorisMoore/jquery-tmpl

我的代碼中的版本號根本沒有問題。 html模板中缺少內容。 這就是為什么我得到錯誤。 立即修復。

我在項目中修復了此錯誤,我只是將此鏈接添加到jQuery資源中:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM