2017-03-16 169 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> 
相关问题