【问题标题】:nodeJS + Swig template passing variable to javascriptnodeJS + Swig模板将变量传递给javascript
【发布时间】:2013-09-04 14:50:50
【问题描述】:

有没有办法使用 nodeJS 的 express + swig 模板将变量从服务器端传递到客户端 javascript?我知道它可以在 Jade 中完成,但我宁愿坚持使用更类似于 HTML 的模板引擎。谢谢大家的帮助!

【问题讨论】:

    标签: node.js express swig


    【解决方案1】:

    好的,我假设您可以使用 consolidate.swig 配置您的 express,否则请阅读此链接 (http://tinyurl.com/kcs8kvy)。 好吧,我没有找到将变量值传递给客户端 javascript 的直接方法,但我找到了一种解决方法。

    例如,您要在快递路线中发送一个对象:

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

    然后在你的 index.html 文件中你可以创建一个脚本标签:

    <html>

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

    &lt;/html&gt;

    然后在您的whatever.js 文件中,用户名变量将以其正确的值可用。希望对您有所帮助。

    【讨论】:

    • 如何处理复杂的json数组迭代!
    • 什么时候,我只做 {{user}} 我正在获取 [object object] 但是当我在服务器上执行 json.stringify 时,即使在 {{user |json_encode }}
    【解决方案2】:

    要将 json 对象从后端服务器传递到模板,您可以这样做:

    var data = {{jsonData|raw|json}}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-07
      • 2018-12-03
      • 2016-09-26
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 2015-07-16
      • 2011-05-09
      相关资源
      最近更新 更多