2013-09-04 5 views
5

Gibt es irgendeine Weise, die express + swig-Schablone für nodeJS verwendet, um Variablen von der Serverseite zum clientseitigen Javascript zu führen? Ich weiß, dass es in Jade gemacht werden kann, aber ich bleibe lieber bei einer Template-Engine, die HTML mehr ähnelt. Danke für die Hilfe Jungs!nodeJS + Swig-Vorlage, die Variable an Javascript weitergibt

Antwort

9

OK Ich nehme an, dass Sie Ihren Express mit consolid.swig konfigurieren könnten, wenn nicht, bitte lesen Sie diesen Link (http://tinyurl.com/kcs8kvy). Nun, ich habe nicht den direkten Weg gefunden, Variablenwerte an Client-Javascript übergeben, aber ich habe eine Umgehungslösung gefunden.

zum Beispiel Sie senden ein Objekt, bei Express in der Route:

app.get("/", function(req, res){ 
    var myUser = { name: "Obama" }; 
    res.render("index", {user: myUser}); 
}); 

dann in Ihrer Datei index.html Sie einen Skript-Tag erstellen:

<html>

<body> 
<script> 
    var username = "{{user.name}}"; 
</script> 

<script src="whatever.js"></script> 
</body> 

</html>

und dann in Ihrem whatever.js Datei wird der Benutzername mit seinem korrekten Wert verfügbar sein. Ich hoffe, dass dir das weiterhilft.

+0

Wie behandelt man komplexe JSON Array Iteration! –

+0

wenn, mache ich nur {{user}} iam bekomme [object object] aber wenn ich json.stringify auf dem Server es gibt mir "Uncaught SyntaxError: Unexpected Token &" auch nach {{user | json_encode}} –

Verwandte Themen