帕格文件未呈现变量中的iframe,而是呈现false

时间:2019-02-17 13:01:02

标签: express pug

在我的控制器上,我正在发送一个变量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呈现?

1 个答案:

答案 0 :(得分:2)

模板上有错字,p=! embed应该在p!=embed

  

Unescaped buffered code以!=开头。它评估   JavaScript表达式并输出结果。未转义的缓冲代码   不会执行任何转义操作,因此对于用户输入是不安全的