客户端访问服务器变量(node.js + express)

时间:2016-03-02 21:31:19

标签: javascript node.js express

我有一个简单的html页面由node.js服务器上的express服务,在客户端javascript我想访问一些服务器端变量。我尝试使用Google搜索解决方案,但没有使用某种模板引擎就没有看到直接的解决方案。

因此,如果我需要从同一主机提供的客户端JS访问服务器上的变量,我需要做什么?

4 个答案:

答案 0 :(得分:1)

要访问客户端上的变量,您需要在脚本标记内公开它,有一些节点模块可以帮助您(例如:express-state)https://www.npmjs.com/package/express-state ,但是你需要一个模板引擎来生成它所需的html。使用快递时,您可以使用各种模板引擎。如果您直接使用快速发电机,它应该带有玉石,您可以在发电机上使用不同的选项来使用其他模板引擎。请参阅此处了解快速生成器选项http://expressjs.com/en/starter/generator.html

答案 1 :(得分:0)

创建API以公开您的变量:

app.get('/myvar', function(req, res){
  res.send(varYouWantToSend);
 });

然后在客户端使用http GET request调用该API。在此示例中,API的网址为www.yoursite.com/myvar

答案 2 :(得分:0)

您可以尝试使用此lib:

https://github.com/siriusastrebe/syc

如果您想实施自己,请查看Ajax。 Jquery有一个非常简单的ajax包装器(http://api.jquery.com/jquery.ajax/)。当然你需要在服务器上打开相应的URL来返回/设置值。

答案 3 :(得分:0)

尝试socket.io http://socket.io/它在现代浏览器上使用websockets,并使用较旧的浏览器优雅地降级为AJAX等旧技术,让用户体验保持不变。

点击此处Web Socket support in Node.js/Socket.io for older browser

查看详细信息