2014-04-09 49 views
26

Ich habe Codes in EJS untenSchleife durch JSON in EJS

<script> 
    var row =<%-JSON.stringify(data)%> 
    console.log(row); 
</script> 
<% for(var i=0; i<JSON.stringify(data).length; i++) {%> 
    <tr> 
    <td> 
     <%= JSON.stringify(data)[i].id%> 
    </td> 
    </tr> 
<% } %> 

Ausgang von Zeilen korrekt ist, ein Array von 3-Objekten, die jeweils mit Eigenschaften, id, name etc .. Ich kann die Zeile manipulieren popuate die Tabelle in JS. Ich frage mich jedoch, ob es einen Weg gibt, dies auf die oben beschriebene Weise zu ermöglichen.

Wenn ich den obigen Code ausführen, ist JSON.stringify (Daten) .Length nicht 3, sondern die Länge der gesamten Zeichenfolge.

anderen Fragen ist, wenn ich versuche

<% alert ('t') hinzuzufügen; %> oder <% window.alert ('t'); %>, es gibt mir 'nicht definiert' Fehler ...

Hilft geschätzt.

Grüße Hammer

+1

In Ihrer for-Schleife können Sie einfach 'Referenzdaten 'da es auf dem Server manipuliert wird (dh Sie wollen es als echtes Objekt manipulieren, nicht als String). In Bezug auf Ihre zweite Frage sind "alert" und "window" browserspezifisch und nicht Knoten. –

+0

Danke Barry. Ist es in EJS möglich, habe ich eine Funktion oder Var in