例子:

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 模板引擎的更多相关文章

  1. doT js 模板引擎【初探】要优雅不要污

    js中拼接html,总是感觉不够优雅,本着要优雅不要污,决定尝试js模板引擎. JavaScript 模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. ...

  2. JS 模板引擎 BaiduTemplate 和 ArtTemplate 对比及应用

    最近做项目用了JS模板引擎渲染HTML,JS模板引擎是在去年做项目是了解到的,但一直没有用,只停留在了解层面,直到这次做项目才用到,JS模板引擎用了两个 BaiduTemplate 和 ArtTemp ...

  3. js模板引擎

    js模板引擎包括如下: template 官方参考:http://aui.github.io/artTemplate BaiduTemplate 官方参考:http://baidufe.github. ...

  4. 调研js模板引擎

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

  5. js模板引擎介绍搜集

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

  6. art template前端模板引擎

    偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...

  7. js模板引擎--artTemplate

    js模板引擎--artTemplate 以前研究过一段时间的handlebars,但因为其渲染性能略逊于腾讯的artTemplate(在artTemplate的GitHub官网上有推荐的性能测试地址) ...

  8. 百度JS模板引擎 baiduTemplate 1.0.6 版

    A.baiduTemplate 简介 0.baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎 注:等不及可以直接点左侧导航中的”C.使用举例“,demo即刻试用. 1.应用场景: ...

  9. 浅析js模板引擎

    js模板引擎越来越多的得到应用,如今已经出现了几十种js模板引擎,国内各大互联网公司也都开发了自己的js模板引擎(淘宝的kissy template,腾讯的artTemplate,百度的baiduTe ...

随机推荐

  1. java @override 全部报错

    问.java @override 全部报错 答: 错误:在 eclipse 的新工作空间开发项目时,出现大面积方法编译错误.鼠标放在方法名上后显示让我们去掉 @override 注解 原因: @Ove ...

  2. PHP小练习题

    前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用php语言设计一个小程序,计算今天到达下月的天数.全部输出这些天数,并使得每天的日期以三种颜色循环显示,设置三个表单,让用户选择字体颜色,然 ...

  3. http虚拟主机的简单配置训练

    http的虚拟主机 对于某些web访问站点而言,每天的访问量很少,因此真正的放一台服务器去进行web站点是很 浪费资源的,因此我们选择了虚拟主机 web处理模块的分类(MPM) 1.perfork 一 ...

  4. HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。

    第一种:无法序列化 DataTable.未设置 DataTable 名称. 第二种: 排除过程如下: 1.用WCF调试状态下的客户端调用ESB的Publish方法调用成功,证明ESB的推送是没有问题的 ...

  5. 通过集群的方式解决基于MQTT协议的RabbitMQ消息收发

    在完成了基于AMQP协议的RabbitMQ消息收发后,我们要继续实现基于MQTT协议的RabbitMQ消息收发. 由于C#的RabbitMQ.Client包中只实现了基于AMQP协议的消息收发功能的封 ...

  6. urllib使用一

    urllib.urlopen()方法: 参数: 1.url(要访问的网页链接http:或者是本地文件file:) 2.data(如果有,就会由GET方法变为POST方法,提交的数据格式必须是appli ...

  7. PHP.20-图片上传下载

    图片上传下载 思路: 1.创建图片上传的存放目录 /uploads/ 2.index.php //浏览页面,提供上传表单 上传表单:文件上传必须使用enctype="multipart/fo ...

  8. java练习题——数组

    上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:[Ljava.lang.Object;@2a139a55 为什么会出现这种情况? 直接输出object的对象,系统会输出地址,如果想要输出其中的 ...

  9. 《Cracking the Coding Interview》——第18章:难题——题目6

    2014-04-29 02:27 题目:找出10亿个数中最小的100万个数,假设内存可以装得下. 解法1:内存可以装得下?可以用快速选择算法得到无序的结果.时间复杂度总体是O(n)级别,但是常系数不小 ...

  10. 【APUE】Chapter9 Process Relationships

    这一章看的比较混乱,可能是因为例子少:再有就是,这一章就是一个铺垫的章节. 9.2 terminal logins 啥叫termnial? 我感觉书上的terminal指的更可能是一些物理设备(key ...