jQuery的TMPL - 不工作
问题描述:
下面的代码模板函数:jQuery的TMPL - 不工作
jQuery(document).ready(function($) {
function getBooks() {
var query = "ajax.php?do=allbooks";
$.ajax({
dataType: "jsonp",
url: query,
jsonp: "callback",
success: showBooks
});
}
function showBooks(data) {
$("#bookTmpl").tmpl(data, {
getName: function() {
return 'bla';
}
}).appendTo("#test");
}
getBooks();
});
我所要做的是使用的getName() - 在我的模板函数。
让我们假设我的模板看起来是这样的:
<script id="bookTmpl" type="text/x-jquery-tmpl">
<li>
${title} by ${author}<br />
Rating: ${rating} -> ${getName()}
</li>
</script>
我有什么改变,使其工作?目前,该功能甚至没有执行。其他一切正常。
答
尝试在$.ajax
中附加error: fn
回调并查看可能的错误。也许JSON格式不正确(你可以用jsonlint.org来检查)。如果甚至没有被调用,有什么不对(404,JSON解析错误等)。
此外,如果你是从同一个域请求JSON(例如,你可以试试$.getJSON
或dataType: 'json'
)
对不起,我有些误读你的问题。你的模板是否工作(除了方法)? – peol 2010-10-24 13:57:50
是的,该模板的作品。 :-) – dmnkhhn 2010-10-24 19:38:23