ejs没有发生参数替换
1. 问题: 用的ejs模版引擎,后台传参去render前端table,结果没有发生数据替换。然后在bootstrap table里onLoadError
函数返回的status
是200。
2. 相关代码:
app.js
app.engine('html', require('ejs').__express);
app.set('views','./views');
app.set('view engine','html');
api.js
//业务进度
router.post("/studentRole/myProgress", function(req, res, next)
{
var userInfo = JSON.parse(req.cookies.get('userInfo'));
//从数据库里查找是否有当前该用户的业务记录
Apply.findOne({sid: userInfo.username}, function(err, docs)
{
if(!err)
{
if(docs != "" && docs != null)
{
//console.log(docs);
res.render("studentRole", {
id: docs.sid,
name: docs.name,
dormitory: docs.dormitory,
room: docs.room
});
return docs;
}
}
});
});
studentRole.html
<table class="table" id="myProgress" name="myProgress">
<thead>
<tr>
<th data-formatter="runningFormatter">#</th>
<th>学号</th>
<th>姓名</th>
<th>宿舍楼</th>
<th>房间号</th>
<th>业务项目</th>
<th data-field="progress">进度</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td><%= locals.id %></td>
<td><%= locals.name %></td>
<td><%= locals.dormitory %></td>
<td><%= locals.room %></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
studentRole.js
$("#myProgress").bootstrapTable(
{
method: 'post',
contentType: "application/x-www-form-urlencoded",
url: 'api/studentRole/myProgress',
cache: false, //是否使用缓存
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
showToggle:true, //是否显示详细视图和列表视图
rowStyle: rowStyles,
responseHandler: function(res)
{
console.log(res);
return res.DATA;
},
onLoadSuccess: function(data)
{
console.log("success rendering data.");
},
onLoadError: function(status)
{
console.log("error: "+status);
}
});
3. 报错信息
4. 这个博主的问题描述大概跟我的意思差不多,然后试过他的方法还是不行
5. 我之所以说好像ejs没有发生替换是因为在studentRole.html里我试过<% console.log(locals.id); %>
这样子是可以打印到数据到控制台的,可是就是<%= locals.id %>
这样,没法渲染到表格。
本人是nodejs大白,不是小白,所以请各位帮忙看看我是哪里不对_(:з」∠)_谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论