2017-01-25 103 views
0

我沒有發現很多Pug/Jade模板的東西,所以我在這裏嘗試。 我一直在閱讀迭代文檔以及此鏈接here在Jade/Pug中渲染對象數組

我正在使用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") 
     }) 
    }) 

我可以在登錄results iterm和我所有的數據都在這裏,但是當涉及到客戶端時,它有點不同。

h1 
|Here are your suggestions 
script. 
console.log(!{res.results}[0].username) 
ul 
    for username in res.results 
    li= username 

在這裏,我可以在我的瀏覽器的控制檯登錄從res.results第一用戶名,但在我的網頁我的李被渲染:

這裏有您的建議

[

{。

。」

。我

.d

「。

0.3

0.3

你能理解我的問題嗎?它顯示了我的對象數組中的每個字符。 我只是想顯示用戶名作爲鏈接,所以我可以顯示建議頁面與一些建議的用戶。

我想知道如果也許我可以使用jQuery將這樣的HTML渲染到我的李,然後調用它,但我也面臨着這裏的牆。 任何幫助都超過歡迎! 謝謝。

回答

3

{res}沒有任何意義的JavaScript。你應該提供模板對象包括鍵/值對:

res.render('./userMatch', {results: results}) 

,然後你的模板循環becames:

ul 
    for item in results 
    li= item.username 
+0

這是行得通!太好了謝謝。你在學校剛剛幫助過5個人。乾杯。 – pkerckho

1
h1 
    |Here are your suggestions 
    script. 
    console.log(!{res.results}[0].username) 
    ul 
     for username in res.results 
     li= username.username 

我認爲用戶名是對象,並且要打印的是整個

+0

這是隻打印空裏一片空白,它呈現點作爲多點作爲焦炭我的物品 – pkerckho

+0

刪除此JSON.stringify(結果)這是字符串化您的對象數組,並在jage res.results被認爲是字符數組 –

+0

這是返回我'不能在我的帕格頁讀取undefined'的屬性'長度'。但是我可以不定義,因爲我可以在Iterm中記錄變量之前? – pkerckho