2016-12-01 5 views
1

Ich versuche derzeit, EJS-Vorlage in meiner Express-Anwendung zu verwenden. Wie auf der offiziellen Seite der Vorlage (https://www.npmjs.com/package/ejs) angegeben, verwende ich wenn Bedingung, Variable auszugeben, wenn es definiert wurde. Wie dieserEJS wenn Bedingung nicht funktioniert

<% if (msg) { %> 
    <h2><%=msg %></h2> 
    <% } else {%> 
    <h2>There is no messages</h2> 
    <% } %> 

Leider jedes Mal, wenn ich diesen Server 500 Fehler zurückgibt. Wie kann ich das beheben?

+0

glaube ich. Überprüfen Sie, wie Sie diese Daten senden und die Ansicht rendern. –

Antwort

2

Sie können nicht verwenden if (msg) - das ist das Bit, dass Fehler.

Stattdessen prüft die Existenz eine andere Art und Weise - durch typeof zum Beispiel mit: etwas falsch mit Ihrem Server vorhanden ist und nicht mit Ihrer Ansicht

<% if (typeof msg != "undefined") { %> 
<h2><%=msg %></h2> 
<% } else {%> 
<h2>There is no messages</h2> 
<% } %>' 
+0

Es hat nichts mit dem strikten Modus zu tun, wenn die Variable nicht definiert ist, und Sie verweisen darauf, es wird ein 'ReferenceError' geworfen. Wenn Ihnen die Ausführlichkeit von 'typeof' nicht gefällt, können Sie 'undefined' oder' null' an Ihre Vorlage übergeben. – RyanZim

Verwandte Themen