我没有为Pug / Jade模板找到很多东西,所以我试试这里。 我一直在阅读迭代文档以及此链接here。
我正在使用Node.js,Express和pug。到目前为止,我有一些功能服务器端收集一些关于用户的数据(我正在建立一个假的约会网站作为学校项目) 所以我的代码服务器端看起来像这样:
router.post('/matchaSearch', function (req, res) {
matchaSearch(pool, session.uniqueID)
.then((results) => {
res.results = JSON.stringify(results)
console.log('result', results)
res.render('./userMatch', {res})
})
.catch((err) => {
console.error('error', err)
res.status(500).send("we don't have any suggestions for you so far")
})
})
我可以在iterm中记录results
,我的所有数据都在这里,但是当涉及到客户端时,它有点不同。
h1
|Here are your suggestions
script.
console.log(!{res.results}[0].username)
ul
for username in res.results
li= username
在这里,我可以在我的浏览器控制台中记录res.results
中的第一个用户名,但在我的页面中我的li正在呈现:
以下是您的建议
[
{
“。
.I
.D
“。
:
0.3
0.3
你能在这里理解我的问题吗? 它显示了我的对象数组中的每个字符。 我只想将用户名显示为链接,以便我可以显示一些建议用户的建议页面。我想知道是否可以使用jquery将html渲染到我的li然后调用它,但我也在这里面对墙。 任何帮助都非常欢迎! 谢谢。
答案 0 :(得分:9)
{res}
对javascript没有任何意义。你应该提供一个对象包括键/值对的模板:
res.render('./userMatch', {results: results})
然后你的模板循环就成了:
ul
for item in results
li= item.username
答案 1 :(得分:3)
h1
|Here are your suggestions
script.
console.log(!{res.results}[0].username)
ul
for username in res.results
li= username.username
我认为用户名是对象而你正在打印整个