gpt4 book ai didi

javascript - 使用 EJS 将数据从 Node js 传递到 HTML

转载 作者:搜寻专家 更新时间:2023-10-31 23:39:43 25 4
gpt4 key购买 nike

这是我的服务器端代码:

app.set('view engine', 'html');
app.engine('html', require('ejs').renderFile);
app.use(express.static('views'));
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());

app.get('/',function(req,res){
var title = "PERFORMANCE OVERVIEW";
res.render('Main.html',{name:title});
})

这是我的客户端代码(Main.html):

<div class="row">
<div class="sm-col-12">
<h3 contenteditable="true" style="font-family:BentonSans Medium; text-align:center; color:rgb(0,38,99);"><%= name %></h3>
<hr style="border-top: dotted 2px;color:grey" />
</div>
</div>

我在 Main.html 页面上得到的输出是“<%-name%>”。相反,它应该打印“PERFORMANCE OVERVIEW”。这段代码究竟有什么问题?

Edit:

我忘了说我也尝试过其他变体,比如 <%= name%> and {{ name }} .但我得到输出 "<%= name%>" and "{{ name }}"分别。

最佳答案

将其更改为 <%= name %>应该修复它。

如果不行,您可以尝试更改 app.set('view engine', 'html')app.set('view engine', 'ejs'); , 然后删除以下 2 行。

app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());

app.get('/',function(req,res){
var title = "PERFORMANCE OVERVIEW" ;
res.render('Main',{name:title}) ;
});

我一直都是这样写的,所以我不能确定你的语法是否正确,或者 ejs 是否可以在不这样设置的情况下工作。

更新

确保 Main.html文件位于名为 views 的文件夹中, 并将此文件重命名为 Main.ejs .

下一个变化 res.render('Main.html',{name:title});res.render('main',{name:title});

关于javascript - 使用 EJS 将数据从 Node js 传递到 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54965978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com