【问题标题】:Local storage/Cookie in node js节点js中的本地存储/Cookie
【发布时间】:2014-02-22 07:06:48
【问题描述】:

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

我怎样才能做到这一点。

【问题讨论】:

  • LocalStorage/Cookies 存储在浏览器中。所以 node.js 与它无关。我想你所需要的只是跨域访问 localStorage/Cookies。
  • 你在使用任何 http-server 框架库吗?喜欢快递。
  • @alexeyten 你猜对了
  • @user568109 不,我没有使用 http-server 框架
  • @ManoharGunturu 你能详细说明你的陈述I want to set a Localstorage/Cookie variable at port 3000吗?

标签: javascript node.js cookies local-storage


【解决方案1】:

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

请记住,某些浏览器中的浏览器和设置会拒绝 3rd-party cookie。

从/在 localStorage 中读取/设置值是不可能的。

您真正想做的可能是您的客户端(浏览器)和服务器(您的 app.js)之间的一些“数据交换”。

为此,您可以使用

a) AJAX,并且可能发送/接收一些 JSON 数据

b) 使用socket.io 发送该数据。 socket.io 具有跨域工作的优势。

在这两种情况下,您当然可以使用 localStorage 存储/恢复/同步数据

还有最后一个选项,如果你真的想要一些富数据客户端,即breeze.js,这将为你提供一些客户端“数据库”,它可以与服务器端的 rest api 同步。但我不认为那是你想要的......

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-05
    • 2020-12-16
    • 2011-03-14
    • 2020-12-26
    相关资源
    最近更新 更多