将一些数据(理想情况下以 json 对象的形式)从 node.js 服务器发送到客户端的 javascript 的最佳方式是什么。我想了几个选择,但在我看来,它们似乎都不是很合适。我正在寻找第二种意见或其他一些建议。
让服务器在标签中输出一些代码
<script>
以设置全局变量。我以前用过这个,但我不喜欢它的想法,主要是因为它具有 XSS 的潜力,而且我认为这是不好的做法,即使发送的数据不是由用户定义的。
设置一个 cookie,其中包含数据。
这个选项稍微好一点,但由于每次页面加载时数据可能会发生变化(至少在我的设置中),它并不真正适合,因为在我看来,cookie 不应该是这种易变的。
让客户端 javascript 在页面加载时向服务器发出 ajax 请求以请求 json 文件。
这也有效,但它增加了很多不必要的开销。每页 2 个请求似乎没有必要。
背景:
我有一个带有 2 个模板的站点:注销用户的索引和主要内容模板。
我的服务器端是基于 node.js、express.js、jade 等构建的。
我将 history.pushState 用于我的所有链接,并将 crossroads.js 用于客户端的页面路由。我希望能够发送加载的模板和用户的 id / 如果他们登录到客户端 javascript,因此它可以相应地处理页面更改。注销的用户可以查看内容页面,而无需编辑权限,单击某些链接应该会将他们带回索引模板。