我有一个简单的html页面由node.js服务器上的express服务,在客户端javascript我想访问一些服务器端变量。我尝试使用Google搜索解决方案,但没有使用某种模板引擎就没有看到直接的解决方案。
因此,如果我需要从同一主机提供的客户端JS访问服务器上的变量,我需要做什么?
答案 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
查看详细信息