javascript - 如何在脚本标签内使用ejs
问题描述
我在 Node.js/Express、ejs 和 Postgresql 中工作。
我正在尝试插入<script></script>
从请求中获得的标签 EJS 代码。
尝试这样做,但它不起作用:
<% avg_t.rows.forEach(function(avg){%>
<script type="text/javascript">
var first = JSON.stringify('<%= avg.mark %>');
console.log(first);
</script>
<%} ) %>
我执行请求的 Node.js 代码:
const graphic1 = (req,res)=> {
const db = new pg.Pool(te_role.client)
db.connect(function(err, client, done){
console.log("")
if(err){
return console.error('canceled')
}
client.query(teacher_role.show_avg,[log2,req.body.disce,req.body.numb,req.body.lett], function(err, result){
return_data.avg_t =result
if (err){
res.end()
return console.error("canceled")
}
done()
res.render('inside',{avg_t:return_data.avg_t})
})
})
}
app.get('/inside',urlencodedParser,db_te.get_graphic1)
当然还有我尝试的完整 EJS 代码:
<% avg_t.rows.forEach(function(avg){%>
<script type="text/javascript">
var first = JSON.stringify('<%= avg.mark %>');
console.log(first);
google.charts.load('current', {
'packages': ['corechart']
});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['Mushrooms', first],
['Onions', 1],
]);
var barchart_options = {
title: 'Barchart: How Much Pizza I Ate Last
Night ',width:400,height:300,legend: '
none '};
var barchart = new google.visualization.BarChart(document.getElementById('barchart_div'));
barchart.draw(data, barchart_options);
}
</script>
<%} ) %>
解决方案
推荐阅读
- shell - 删除linux文件中的十六进制代码
- node.js - 无法将包含特殊字符的 API 密钥导出到 .zshrc
- c++ - 在类方法中使用“this”指针是一种好习惯吗?
- mysql - 如何将 HikariCP 设置为 MySQL 的只读?
- android - 如何在颤动中获得 android drawables
- opencart - Opencart 3.0 "Warning: No Shipping options are available"
- quickblox - 用户在 quickblox 中登录时未经授权
- python - How do you get the average of each tenth of a list?
- dart - 自定义 State 对象的子类不能在 createState 中使用
- sql - Read certain columns if exist using read.csv.sql from sqldf