template.js 模板引擎
例子:
html代码:
<div id="box"></div>
css代码:
table{
border-collapse: collapse;
text-align: center;
line-height:;
}
td{
border: 1px solid #000;
}
json数据:
[
{
"name":"张三",
"age":"23",
"sex":"男"
},
{
"name":"李四",
"age":"26",
"sex":"男"
},
{
"name":"王五",
"age":"18",
"sex":"女"
}
]
1、使用原生ajax方法
<script>
function getXMLHttp(){
var xhr=null;
if(window.XMLHttpRequest){
xhr=new XMLHttpRequest(); //chrome ff
}else{
xhr=new ActiveXObject("Microsoft.XMLHttp"); //ie
}
return xhr;
}
window.onload=function () {
var xhr=getXMLHttp();
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
var data=JSON.parse(xhr.responseText);
var str="<table width='300'><tr><td>姓名</td><td>年龄</td><td>性别</td></tr>";
for(var i=0;i<data.length;i++){
str+="<tr>";
for(var key in data[i]){
str+="<td>"+data[i][key]+"</td>";
}
str+="</tr>"
}
document.getElementById("box").innerHTML=str;
}
}
xhr.open("GET","userInfo.json");
xhr.send();
}
</script>
2、使用jquery $.ajax方法:
<script>
$.ajax({
url:"userInfo.json",
dataType:"json",
success:function(data){
var table=$("<table width='300'><tr><td>姓名</td><td>年龄</td><td>性别</td></tr>");
$(data).each(function(index,element){
var tr=$("<tr></tr>");
$.each(element,function (i,e) {
tr.append($("<td>"+e+"</td>"));
})
table.append(tr);
})
$("#box").html(table);
}
})
</script>
3、引入模板并用ajax方法使用:
<script src="jquery.min.js"></script>
<script src="template-native.js"></script><script type="text/template" id="t">
<table width="300">
<tr><td>姓名</td><td>年龄</td><td>性别</td></tr>
<%for(var i=0;i<userInfo.length;i++){%>
<tr>
<td><%=userInfo[i].name%></td>
<td><%=userInfo[i].age%></td>
<td><%=userInfo[i].sex%></td>
</tr>
<%}%>
</table>
</script>
<script>
$.ajax({
url:"userInfo.json",
dataType:"json",
success:function(data){
var userObj={
userInfo:data
}
var str=template("t",userObj);
$("#box").append(str); }
})
</script>
浏览器效果:

template.js 模板引擎的更多相关文章
- doT js 模板引擎【初探】要优雅不要污
js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. ...
- JS 模板引擎 BaiduTemplate 和 ArtTemplate 对比及应用
最近做项目用了JS模板引擎渲染HTML,JS模板引擎是在去年做项目是了解到的,但一直没有用,只停留在了解层面,直到这次做项目才用到,JS模板引擎用了两个 BaiduTemplate 和 ArtTemp ...
- js模板引擎
js模板引擎包括如下: template 官方参考:http://aui.github.io/artTemplate BaiduTemplate 官方参考:http://baidufe.github. ...
- 调研js模板引擎
js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...
- js模板引擎介绍搜集
js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...
- art template前端模板引擎
偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...
- js模板引擎--artTemplate
js模板引擎--artTemplate 以前研究过一段时间的handlebars,但因为其渲染性能略逊于腾讯的artTemplate(在artTemplate的GitHub官网上有推荐的性能测试地址) ...
- 百度JS模板引擎 baiduTemplate 1.0.6 版
A.baiduTemplate 简介 0.baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎 注:等不及可以直接点左侧导航中的”C.使用举例“,demo即刻试用. 1.应用场景: ...
- 浅析js模板引擎
js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...
随机推荐
- java @override 全部报错
问.java @override 全部报错 答: 错误:在 eclipse 的新工作空间开发项目时,出现大面积方法编译错误.鼠标放在方法名上后显示让我们去掉 @override 注解 原因: @Ove ...
- PHP小练习题
前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用php语言设计一个小程序,计算今天到达下月的天数.全部输出这些天数,并使得每天的日期以三种颜色循环显示,设置三个表单,让用户选择字体颜色,然 ...
- http虚拟主机的简单配置训练
http的虚拟主机 对于某些web访问站点而言,每天的访问量很少,因此真正的放一台服务器去进行web站点是很 浪费资源的,因此我们选择了虚拟主机 web处理模块的分类(MPM) 1.perfork 一 ...
- HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。
第一种:无法序列化 DataTable.未设置 DataTable 名称. 第二种: 排除过程如下: 1.用WCF调试状态下的客户端调用ESB的Publish方法调用成功,证明ESB的推送是没有问题的 ...
- 通过集群的方式解决基于MQTT协议的RabbitMQ消息收发
在完成了基于AMQP协议的RabbitMQ消息收发后,我们要继续实现基于MQTT协议的RabbitMQ消息收发. 由于C#的RabbitMQ.Client包中只实现了基于AMQP协议的消息收发功能的封 ...
- urllib使用一
urllib.urlopen()方法: 参数: 1.url(要访问的网页链接http:或者是本地文件file:) 2.data(如果有,就会由GET方法变为POST方法,提交的数据格式必须是appli ...
- PHP.20-图片上传下载
图片上传下载 思路: 1.创建图片上传的存放目录 /uploads/ 2.index.php //浏览页面,提供上传表单 上传表单:文件上传必须使用enctype="multipart/fo ...
- java练习题——数组
上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:[Ljava.lang.Object;@2a139a55 为什么会出现这种情况? 直接输出object的对象,系统会输出地址,如果想要输出其中的 ...
- 《Cracking the Coding Interview》——第18章:难题——题目6
2014-04-29 02:27 题目:找出10亿个数中最小的100万个数,假设内存可以装得下. 解法1:内存可以装得下?可以用快速选择算法得到无序的结果.时间复杂度总体是O(n)级别,但是常系数不小 ...
- 【APUE】Chapter9 Process Relationships
这一章看的比较混乱,可能是因为例子少:再有就是,这一章就是一个铺垫的章节. 9.2 terminal logins 啥叫termnial? 我感觉书上的terminal指的更可能是一些物理设备(key ...