微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这是我的服务器端代码

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%>”.而是应打印“性能概述”.这段代码到底有什么问题?

Edit:

我忘了提一下,我也曾尝试过其他变体,例如<%= name%>和{{name}}.但是我得到的输出是“<%= name%>”.和“ {{name}}”.

解决方法:

将其更改为<%=名称%>应该修复它.

如果不是这样,您可以尝试将app.set(‘view engine’,’html’)更改为app.set(‘view engine’,’ejs’);,然后删除以下两行.

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});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐