2017-03-16 226 views
0

我正在使用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服務得到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>標記。它工作正常。但是當我使用我之前發佈的方式時,它顯示錯誤。

+2

僅供參考的jQuery 1.4.4是*非常*過時。我強烈建議你更新它 –

+2

支持jquery.tmpl在5年前結束。有一些支持有些支持,我建議你要麼使用這些或完全切換到更新的東西。 –

+0

@ ozil嘗試了你的建議。獲取錯誤 未捕獲的ReferenceError:沒有定義jQuery –

回答

0

我的代碼中的版本號完全沒有問題。在html模板中缺少一個。這就是我得到錯誤的原因。現在修復它。

0

我在我的項目解決這個錯誤,我只是說此鏈接到jQuery的資源:

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