我目前正在尝试通过在服务器上的另一个文件夹上使用ajax get来填充jquery-templates。我想填写我通过.tmpl({..})获得的responseTexts。可悲的是,这不起作用。这就是我的所作所为。
var a = $.ajax({
method: 'GET',
url : 'TemplateUrl/template.html'
});
$.when(a).done(function(){
$(a.responseText).tmpl({...});
});
responseText是一个非常简单的来自SharePoint网站的html,看起来像这样
"<div>
<td class="ms-formbody">
<!-- FieldName="{{html FieldName}}"
FieldInternalName = "{{html FieldName}}"
FieldType = "SPFieldText" -->
{{html Text}}
</td>
</div>"
当试图填写模板时,我得到了这个
Uncaught TypeError: Failed to construct 'Text': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
也许你们有个主意。会很好。提前致谢并
问候克里斯
答案 0 :(得分:0)
它抛出错误的原因是因为你试图将temp()作为函数调用而不是实例化它。
尝试在$(a.responseText).tmpl({...})前面使用new关键字。
答案 1 :(得分:0)
好的,一旦我拥有它,答案就不那么难了也很合乎逻辑。模板引擎需要脚本包装器才能正常工作。所以html需要看起来像这样
<script type="text/x-jQuery-tmpl">
<div>
<td class="ms-formbody">
<!-- FieldName="{{html FieldName}}"
FieldInternalName = "{{html FieldName}}"
FieldType = "SPFieldText" -->
{{html Text}}
</td>
</div>
</script>