ExpressJS将variables传递给JavaScript
我完全失去了这一点; 我正在使用NodeJS来获取JSON,我需要将该variables传递给我的页面,并使JavaScript使用数据。
app.get('/test', function(req, res) { res.render('testPage', { myVar: 'My Data' });
这是我的Express代码(testing非常简单); 现在使用JADE我想收集这个数据,我知道在页面上呈现是简单的
p= myVar
但我需要能够收集这些数据在JavaScript(如果可能在.js文件中),但现在只是要显示在一个警报框中的variables我已经尝试
alert(#{myVar})
还有很多其他人,如果有人可以帮助非常感激
尝试以下操作:
alert('!{myVar}')
如果不仅仅是一个string,JSON编码数据是个好主意。
alert('!{JSON.stringify(myVar)}')
正如提摩太所说:
<script type="text/javascript>var myVar = #{JSON.stringify(myVar)};</script>
如果您不喜欢在jade模板中编写HTML,也可以按如下方式进行:
script var myVar = !{JSON.stringify(myVar)}; var myVar2 = !{JSON.stringify(myVar2)};
更新:对于Express 4使用script.
而不是script
以便它将呈现为JavaScript而不是HTML。
那么,Javascript(和V8)有一个内置的函数来呈现JSON从一个对象,JSON恰好与Javascript兼容。
所以最简单的方法来做你想做的事情是:
<script type="text/javascript>var myVar = #{JSON.stringify(myVar)};</script>
而且,是的,您可以在Jade模板中使用HTML。
我知道我晚了一点,但是我几个月前写了一个模块(JShare)来解决这个问题。 看看: https : //npmjs.org/package/jshare
你可以利用Now.js。 它很容易让你实时共享variables客户端/服务器端。
检查出来: http : //www.nowjs.com/
- 我如何将Node.js实现为Ionic / Angular应用程序?
- Node通过body-parser获取发布的variables
- 使用中间件与app.use
- mongodb + express – mongoose不保存“默认”值
- 将GETparameter passing给Express + Mongoose Restful API
- Express 4 / Node JS – 非常好地pipe理uncaughtException
- Mongoose findByIdAndUpdate没有更新数据
- 我的命令在节点js中的每个刷新页面重复
- Express框架或node.js如何自动提供JavaScript文件?