在我的控制器上,我正在发送一个变量embed
,其中包含一个iframe,但它正在渲染false
,我在做什么错了?
exports.getUserBySlug = async (req, res, next) => {
const user = await User.findOne({ slug: req.params.slug })
let embed = {}
if (!user) return next();
try {
const response = await axios.get(`https://soundcloud.com/oembed?format=json&url=${user.musicLink}`)
embed = response.data
} catch (e) {
console.error(e)
}
res.render('user', {
user,
title: user.name,
embed: embed.html,
});
};
哈巴狗:
extends layout
block content
.inner
.cf
.w-30.fl.ba
img.br-100.h5.w5.center.db.mt4(src=`/uploads/${user.photo}`)
p.tc #{user.name}
p.tc #{user.genres}
.w-70.fl.bg-light-blue
user.musicLink
p=! embed
然后在呈现的文件上仅呈现false,如何使实际的iframe呈现?
答案 0 :(得分:2)
模板上有错字,p=! embed
应该在p!=embed
处
Unescaped buffered code以!=开头。它评估 JavaScript表达式并输出结果。未转义的缓冲代码 不会执行任何转义操作,因此对于用户输入是不安全的