就是想用underscore.js写一个小例子,Node去发送json数据,content.html引用underscore和jquery,把json的数据读取到html模版内容里,但是出错了。
错误提示:
定位到代码:
content.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.header{
width:980px;
height:100px;
margin:0 auto;
background-color: #ccc;
margin-bottom: 20px;
}
.content {
width:980px;
margin:0 auto;
}
.main {
float: left;
width:599px;
margin-right: 20px;
border-right:1px solid red;
}
.aside {
float: left;
width: 360px;
height: 400px;
background-color: #ccc;
}
h1 {
text-align: center;
}
.grid {
border-bottom: 1px solid #333;
box-shadow: 1px 1px 1px #333;
margin-bottom: 10px;
border-radius: 10px
padding: 10px;
box-sizing: border-box;
}
</style>
</head>
<body>
<div class="header"></div>
<div class="content">
<div class="main">
</div>
<div class="aside"></div>
</div>
<script type="text/template" id = "moban">
<div class="grid">
<h3><%= biaoti %></h3>
<p>发布时间:<%= shijian %> 作者:<%= zuozhe %></p>
<p><%= neirong %></p>
<p><a href="">详细</a></p>
</div>
</script>
<script type = "text/javascript" src = "jquery-1.11.3.min.js"></script>
<script type="text/javascript" src = "underscore.js"></script>
<script type="text/javascript">
//得到模版内容
var mobanstring = $("moban").html();
var compiled = _.template(mobanstring);
//发出AJAX请求
$.get("/news",function (data,status) {
for(var i = 0; i < data.length; i++) {
var compiledString = compiled(data[i]);
$(".main").append($(compiledString));
}
});
</script>
</body>
</html>
Node后台,app.js
var express = require("express");
var app = express();
app.use(express.static("./public"));
var shujuku = [
{
"biaoti":"我是1号新闻啊!我很开心啊",
"shijian":"2017年11月14日09:21:03",
"zuozhe":"考拉",
"neirong":"<p>内容啊内容啊内容啊内容啊</p>"
},
{
"biaoti":"我是2号新闻啊!我很开心啊",
"shijian":"2017年11月14日09:21:03",
"zuozhe":"Bob",
"neirong":"内容啊内容啊内容啊内容啊"
},
{
"biaoti":"我是3号新闻啊!我很开心啊",
"shijian":"2017年11月14日09:21:03",
"zuozhe":"Jack",
"neirong":"内容啊内容啊内容啊内容啊"
},
{
"biaoti":"我是4号新闻啊!我很开心啊",
"shijian":"2017年11月14日09:21:03",
"zuozhe":"hehe",
"neirong":"内容啊内容啊内容啊内容啊"
}
];
app.get("/news",function (req,res) {
//相当于send的时候发的是json数据
res.json(shujuku);
});
app.listen(3000);
运行结果:
正确结果应该显示:
undersocre.js 中文文档地址:undersocre.js的template
var mobanstring = $("#moban").html();
你把#漏掉了
https://jsfiddle.net/papersna...