Expressjs cookie-parser用j前缀cookie:

时间:2017-01-25 12:47:02

标签: node.js reactjs express cookies redux

在我的通用反应应用程序中,我想在SSR期间设置一个cookie并在客户端访问它。为此,我使用react-cookie和cookie-parser(和expressjs)。

问题在于,每当我在SSR期间设置cookie时,cookie都会以“j:”开头。我使用react-cookie .plugToRequest(req,res)将我的cookie添加到请求中。

我的SSR的响应包含带有前缀值的Set-Cookie标头。

server.jsx

  app.use(cookieParser());
  app.use(compression());
  app.use(express.static(path.join(__dirname, '..', 'static')));

  ...

  app.use((req, res) => {
    const client = new ApiClient(req);
    const memoryHistory = createHistory(req.originalUrl);
    const store = createStore(memoryHistory, client);

    cookie.plugToRequest(req, res);

    ...
  });
});

非常感谢任何帮助!

此致 Cornel Janssen

1 个答案:

答案 0 :(得分:1)

有点晚了,因为我今天偶然发现了这个问题。我在类似的问题中提供了答案:

Set cookie in express.js appear j: prefix

基本上,它只是一个预先修复,因此他们知道常规字符串和JSON字符串之间的区别。如果你使用其他方法解析它,只需手动删除“j:”。