javascript - Node js 中的本地存储/Cookie

标签 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)

我怎样才能实现这个目标。

最佳答案

为了读取/设置 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/

相关文章:

javascript - 在 React 中使用 Array.map

javascript - 调用方法失败

node.js - node_modules 中 .bin 目录的用途?什么是二进制文件?

javax.json 产生难以理解的 json

javascript - 让 knockout 立即生效?

javascript - Vue.js 2.如何在axios拦截器中使用Vuex

c# - ASP.NET Core Identity 中的两个身份验证 cookie

http - 如何处理同名的多个cookie?

javascript - Chrome - Javascript 排序不一致

java - 设置传入 httpServletRequest 的 cookie 版本