2017-01-25 4 views
0

Ich finde nicht viel Zeug für Pug/Jade Templating, also versuche ich hier. Ich habe die Dokumentation für Iterationen gelesen und auch diesen Link here.Render Array von Objekten in Jade/Pug

Ich arbeite mit Node.js, Express und Mops. Bisher habe ich eine Funktion Server-Seite, die einige Daten über Benutzer sammeln (Ich baue eine gefälschte Dating-Website als ein Schulprojekt) So Seite meiner Code-Server wie folgt aussieht:

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") 
     }) 
    }) 

ich anmelden kann results in Iterm und alle meine Daten sind hier, aber wenn es um Client-Seite geht, ist es ein bisschen anders.

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

Hier kann ich den ersten Benutzernamen einloggen von res.results in Konsole meines Browsers, aber meiner Seite mein li rendert:

Hier sind Ihre Vorschläge

[

{..

.“

.i

.d

. "

.

.3

.3

können Sie verstehen, mein Problem hier? es zeigt jedes Zeichen von meinem Array von Objekten. Ich wollte nur den Benutzernamen als Link anzeigen, damit ich eine Vorschlagsseite mit einigen vorgeschlagenen Benutzern anzeigen kann.

Ich frage mich, ob ich vielleicht jquery verwenden kann, um so html in meine Li zu rendern und dann es zu nennen, aber ich stehe auch hier vor einer Wand. Jede Hilfe ist mehr als willkommen! Danke.

Antwort

3

{res} keinen Sinn Javascript machen.

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

und dann Schleife in Vorlage becames: Sie sollten Vorlage ein Objekt umfassen Schlüssel/Wert-Paare liefern

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

Das funktioniert! Grosses Dankeschön. Du hast gerade 5 anderen Leuten in der Schule geholfen. Prost. – pkerckho

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

ich denke, Benutzername Objekt ist und Sie drucken, dass die ganze

+0

Dieses nur leere li leer druckt, es Punkte, so viele Punkte wie char macht in Meine Objets – pkerckho

+0

entfernen Sie diese JSON.stringify (Ergebnisse) Dies ist stringify Ihr Array von Objekten und in jage res.results wird als char-Array betrachtet –

+0

Dies gibt mir 'Kann nicht lesen Eigenschaft 'Länge' von undefined' in meiner Mug-Seite. Aber ich komme es kann undefiniert sein, da ich die Variable in Iterm vorher protokollieren kann? – pkerckho