nodeJS + Swig模板将变量传递给javascript

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于nodeJS + Swig模板将变量传递给javascript的主要内容,如果未能解决你的问题,请参考以下文章

将 HTML 文件内容传递给 JavaScript 变量

将派生类传递给采用 SWIG Python 中的基类的函数

通过 SWIG 将简单的 numpy 数组传递给 C

SWIG:将 Python 字符串传递给 void 指针类型的参数

避免 nodeJs 中的回调地狱/将变量传递给内部函数

使用 SWIG 将 numpy 数组元素(int)传递给 c++ int