节点js中的本地存储/ Cookie

时间:2014-01-30 05:40:10

标签: javascript node.js cookies local-storage

在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)

我怎样才能做到这一点。

1 个答案:

答案 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同步。但我不认为那就是你想要的......

希望有所帮助,你的问题有点不清楚/令人困惑......