在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)
我怎样才能做到这一点。
答案 0 :(得分:0)
读取/设置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);
});
请注意,某些浏览器中有浏览器和设置会拒绝第三方Cookie。
从localStorage中读取/设置值是不可能的。
您真正想要做的可能是您的客户端(浏览器)和服务器(您的app.js)之间的“数据交换”。
为此,您可以使用
a)AJAX,可能发送/接收一些JSON数据
或
b)使用socket.io发送该数据。 socket.io具有跨域工作的优势。
在这两种情况下,您当然可以使用localStorage
存储/恢复/同步数据还有一些最后的选择,如果你真的想要一些富数据客户端,breeze.js这将为你提供一些客户端“数据库”,它可以与服务器端的rest api同步。但我不认为那就是你想要的......
希望有所帮助,你的问题有点不清楚/令人困惑......