从node.js服务器向客户端的javascript发送一些数据(理想情况下为json对象的形式)的最佳方式是什么?我想到了一些选择,但我认为它们都不适合。第二个意见,或其他一些建议是我正在寻找的。从node.js向客户端js发送数据的最佳方式
让服务器在
<script>
标记中输出一些代码来设置全局变量。我以前用过这个,但我不喜欢它的想法,主要是因为它对XSS有潜力,而且我认为这是不好的做法,即使发送的数据不是由用户定义的。
用它里面的数据设置一个cookie。
这个选项稍微好一点,但由于数据可能会因为每次页面加载而改变(至少在我的设置中),它并不适合,因为在我看来,cookie不应该是这个不稳定。
让客户端javascript在页面加载时向服务器发出ajax请求以请求json文件。
这也适用,但它增加了很多不必要的开销。每页2个请求看起来没有必要。
背景:
我有2个模板网站对注销的用户的索引,主要内容模板。
我的服务器端是由node.js,express.js,jade等构建而成的。
我使用history.pushState作为客户端页面路由的所有链接和crossroads.js。 我希望能够发送加载的模板和用户的ID /如果他们登录到客户端JavaScript,所以它可以处理相应的页面更改。登出的用户可以查看内容页面,而无需编辑权限,点击某些链接应该将它们带回索引模板。
我确实结束了脚本标记选项。访问js的其他脚本不是问题,因为发送给客户端的内容可能是恶意的。 我正在使用'JSON.stringify(object).replace('/','\ /','g')'来使任何XSS都不可能(据我所知)。 – xthexder