如何在javascript中使用ejs将字符串转换为html格式
这种情况是,用户将以HTML格式输入文本(例如,如何在javascript中使用ejs将字符串转换为html格式,javascript,jquery,node.js,ejs,router,Javascript,Jquery,Node.js,Ejs,Router,这种情况是,用户将以HTML格式输入文本(例如,测试),然后插入的文本将保存到数据库中(HTML代码作为字符串(例如,测试) 我希望从数据库中取回的字符串显示为HTML文本(例如测试) 我遵循下面的代码片段,但没有得到任何输出 注意:在简单执行时工作正常,但HTML代码显示为纯文本 test.js(路由文件): var testid = 234123; b.find(testid, function(data) { b.otherdet(testid, function(cdata){
测试
),然后插入的文本将保存到数据库中(HTML代码作为字符串(例如,测试
)
我希望从数据库中取回的字符串显示为HTML文本(例如测试)
我遵循下面的代码片段,但没有得到任何输出
注意:
在简单执行时工作正常,但HTML代码显示为纯文本
test.js(路由文件):
var testid = 234123;
b.find(testid, function(data) {
b.otherdet(testid, function(cdata){
res.render('blogdesc',{
Data: data,
cdata: cdata
});
});
});
<p class="" id="descid"></p>
<script>
var $log = $( "#descid" );
html = $.parseHTML('<%= cData.description %>'); //description is column in database
$log.append( html );
</script>
test.ejs文件:
var testid = 234123;
b.find(testid, function(data) {
b.otherdet(testid, function(cdata){
res.render('blogdesc',{
Data: data,
cdata: cdata
});
});
});
<p class="" id="descid"></p>
<script>
var $log = $( "#descid" );
html = $.parseHTML('<%= cData.description %>'); //description is column in database
$log.append( html );
</script>
var$log=$(“#descid”);
html=$.parseHTML(“”);//说明是数据库中的列
$log.append(html);
显示了如何按照EJS中的方式发出HTML,但请确保您已删除该内容以避免XSS。我发现,它哪里出错了。我使用:html = $.parseHTML('<%=blogData.description%>');
html=$.parseHTML(“”);
而实际语法应该是:html = $.parseHTML('<%-blogData.description%>');
html=$.parseHTML(“”);
这回答了你的问题吗?谢谢@Craicerjack,它成功了。