我有一个简单的HTML页面,是由Node.js服务器上的Express提供服务的,在客户端JavaScript中,我想访问一些服务器端变量。我尝试在Google上搜索解决方案,但没有看到不使用某种模板引擎的直接解决方案。
因此,如果我需要从同一主机提供的客户端JS访问服务器上的变量,我需要做什么?
我有一个简单的HTML页面,是由Node.js服务器上的Express提供服务的,在客户端JavaScript中,我想访问一些服务器端变量。我尝试在Google上搜索解决方案,但没有看到不使用某种模板引擎的直接解决方案。
因此,如果我需要从同一主机提供的客户端JS访问服务器上的变量,我需要做什么?
app.get('/myvar', function(req, res){
res.send(varYouWantToSend);
});
然后在客户端使用http GET请求调用该API。在这个例子中,API的URL将为www.yoursite.com/myvar
。
https://github.com/siriusastrebe/syc
如果你想自己实现,可以看看Ajax。Jquery有一个非常简单的ajax封装(http://api.jquery.com/jquery.ajax/)。当然,你需要在服务器上打开相应的URL来返回/设置值。
尝试使用 socket.io
http://socket.io/,它在现代浏览器上使用 websockets
,并且可以优雅地降级到旧技术(如AJAX
)与旧浏览器一起使用,从而保持用户体验不变。
在这里查看详细信息 Node.js/Socket.io中的Web Socket支持适用于旧浏览器
res.locals
的模板,例如EJS、Jade或自己创建的模板通常是一个好主意,这使得在页面加载时轻松地将数据传输到HTML中,而无需进行任何其他请求。 - adeneo