在我的通用反应应用程序中,我想在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
答案 0 :(得分:1)
有点晚了,因为我今天偶然发现了这个问题。我在类似的问题中提供了答案:
Set cookie in express.js appear j: prefix
基本上,它只是一个预先修复,因此他们知道常规字符串和JSON字符串之间的区别。如果你使用其他方法解析它,只需手动删除“j:”。