在Jade和Node.js上传递变量内部的链接时,前后未定义

在Jade和Node.js上传递变量内部的链接时,前后未定义,node.js,express,pug,Node.js,Express,Pug,我用的是express和Jade。当我传递包含链接的变量时,我在url的前面和末尾都没有定义。这个问题是什么?我如何解决它 与此相同的问题: 但那里没有人回答 玉码: block content h1= title p Your photos #photos img(src=#{purl}) p #{photo.title} 渲染代码 res.render('./user/show', { title: 'photos',photo: photo, purl: purl)}); purl是链

我用的是express和Jade。当我传递包含链接的变量时,我在url的前面和末尾都没有定义。这个问题是什么?我如何解决它

与此相同的问题: 但那里没有人回答

玉码:

block content
h1= title
p Your photos
#photos
img(src=#{purl})
p #{photo.title}
渲染代码

res.render('./user/show', { title: 'photos',photo: photo, purl: purl)});
purl是链接的变量,当我在控制台上记录渲染时,该链接会按应显示,photo.title也会正常显示

更新


这是一个玉的问题,因为EJS一切都很好。。。。我想有个小问题,我得换台了。。如果有人提出解决方案,欢迎您。

首先,在
res.render()之前添加
console.log(purl)

在变量到达Jade模板之前,您需要排除它不是未定义的

在jade中,图像src不需要在purl变量周围使用
{}
。试试这个:

img(src=purl)
当您在文本字符串中并且想要引用javascript变量时,只需要
{}

如果您真的愿意,可以将其编写为
img(src='{purl}')

你的段落也可以写成:

p= photo.title
其中
=
表示以下内容被解释为javascript。不需要
{}

如果你想用
{}
把文字和图片标题混合在一起,效果会很好

p #{photo.title} lorem ipsum

请发一些代码什么代码?所有其他变量都以相同的方式传递,并且是可用的,并且链接的前面和后面都没有定义。当我不知道问题出在哪里时,我可以上传什么作为代码的一部分?它是保存照片的文件夹吗?当我将控制台登录到变量所在的位置时,我会得到相应的链接。只有在jade上存在问题。正如其他用户所说,您需要粘贴一些代码。问题很明显,您要么没有正确地将参数传递给jade,要么没有在jade中正确地使用它们。如果没有看到您正在尝试的内容,没有人能够为您提供更多帮助。粘贴生成相关链接的Jade模板部分,以及res.render行(假设您使用的是Express)和传递Jade的对象转储。完成后,添加了上面的所有部分。我已添加了console.log(purl)就在渲染的正上方,它给了我一个毫无问题的链接。我照你说的做了,谢谢你的建议,但不幸的是问题依然存在。最奇怪的是,使用EJS可以完美地工作,没有任何变化。毫无疑问,
purl
在Jade中不是一个保留字。。。尝试将其重命名为
purl2
,只是为了好玩。还可以尝试
p=JSON.stringify(purl)
-也许这与img标签有关?!在改变了你对答案的两个建议后,它是成功的。。。你不知道你帮了我多少麻烦。。。很抱歉,我真的迷失在这片翡翠中,Ejs一团糟。。。谢谢!!!