2013-09-04 17 views
5

Esiste un modo per utilizzare express + swig template per nodeJS per passare le variabili dal lato server al lato client javascript? So che può essere fatto in Jade, ma preferisco attenermi a un motore di template che assomigli più a quello dell'HTML. Grazie per l'aiuto ragazzi!nodeJS + Swig template passando variabile a javascript

risposta

9

OK Suppongo che potresti configurare il tuo express con consolidate.swig se non ti preghiamo di leggere questo link (http://tinyurl.com/kcs8kvy). Beh, non ho trovato il modo diretto per passare valori variabili al client javascript ma ho trovato una soluzione alternativa.

per esempio si sta inviando un oggetto, nel tuo percorso in esplicito:

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

poi nel file index.html è possibile creare un tag script:

<html>

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

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

</html>

e quindi nel vostro qualunque file .js la variabile username sarà disponibile con il suo valore corretto. Spero che questo ti aiuti.

+0

come gestire l'iterazione di array json complesso! –

+0

quando, sto facendo solo {{user}} iam ottenendo [oggetto oggetto] ma quando faccio json.stringify sul server mi dà "Uncaught SyntaxError: Unexpected Token &" anche dopo {{user | json_encode}} –

Problemi correlati