在 NODE JS 上,我在 3 个不同的端口运行 3 个应用程序, 让我们将它们视为端口 3000、3007、3005。
现在我的目标是我想在端口 3000 处设置 Localstorage/Cookie 变量,并希望在端口 3005 和端口 3007 上运行的应用程序中获取此本地存储值。
我的文件夹结构是:
nodep/
|-app.js(runs at 3000 port)
|-chat2.js(runs at 3005 port)
|-chat3.js(runs at 3007 port)
我怎样才能实现这个目标。
最佳答案
为了读取/设置 cookie 服务器端,您需要一些 HTTP 服务器。您还应该使用 Cookie-Module ,因为这样更容易。
您的代码将如下所示:
var http = require('http'),
Cookies = require('cookies');
http.createServer(function (request, response) {
var cookies = new Cookies(request, response);
// get a cookie value
cookies.get('yourCookieKey');
// set a cookie value
cookies.set('yourCookieKey', 'yourCookieValue');
response.end(200);
});
请记住,某些浏览器中的浏览器和设置会拒绝第 3 方 cookie。
从本地存储读取/设置值是不可能的。
您真正想做的可能是客户端(浏览器)和服务器(您的 app.js)之间的一些“数据交换”。
为此,您可以使用
a) AJAX,并且可能发送/接收一些 JSON 数据
或
b) 使用socket.io用于发送该数据。 socket.io 具有跨域工作的优势。
在这两种情况下,您当然可以使用 localStorage 存储/恢复/同步数据
如果您确实想要一些丰富数据的客户端,还有最后一个选项,即 breeze.js这将为您提供一些可以与服务器端 REST API 同步的客户端“数据库”。但我不认为那是你想要的......
希望有所帮助,您的问题有点不清楚/令人困惑......
关于javascript - Node js 中的本地存储/Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448706/