大佬教程收集整理的这篇文章主要介绍了在jQuery中加载小胡子模板返回Document对象而不是原始字符串,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
loadTemplate: function(name,callBACk) { if (!ich.templates[name+"_template"]) { jQuery.get("/js/templates/"+name+".mustache",function(data) { window.ich.addTemplate(name+"_template",data); callBACk(); }); } else { callBACk(); } }
但是,检查调试器中返回的数据变量有时会返回Document对象而不是我可以使用的原始字符串.我有时说,因为如果模板文件中的html在文件顶部没有嵌套的DOM元素,模板会按需加载.这是一种非常奇怪的行为,我希望得到一些帮助解释.
所以,例如,模板文件:
<div> <div>My name is {{name}}</div> </div>
将在加载时作为Document对象返回.
然而,这个模板文件:
<div></div> <div> <div>My name is {{name}}</div> </div>
根据需要作为原始字符串返回.
我不确定为什么没有任何孩子的那个顶级div应该对被识别为Document与字符串的模板产生影响.有任何想法吗?
因此,您的服务器可能会将某些模板发送为text / html(或text / plain),将其他模板作为text / xml发送.检查响应头(使用fiddler或等效工具)检查是否确实如此,这将是很有趣的.
顺便说一句,指定请求的数据类型应该完全消除这个问题:
jQuery.get("/js/templates/" + name + ".mustache",function(data) { window.ich.addTemplate(name + "_template",data); callBACk(); },"html"); // Always return HTML as plain text.
以上是大佬教程为你收集整理的在jQuery中加载小胡子模板返回Document对象而不是原始字符串全部内容,希望文章能够帮你解决在jQuery中加载小胡子模板返回Document对象而不是原始字符串所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。