【发布时间】:2020-12-20 18:25:47
【问题描述】:
我正在使用在重新加载时调用的初始 Nuxt 函数来设置重要数据,例如 userId 和 token。我可以从 cookie 中读取数据,但无法将数据保存到 cookie。
initAuth(context, req) {
try {
const cookie = req.headers.cookie
if (req && cookie) {
let token = getCookieServerSide('token', cookie)
let userId = getCookieServerSide('userId', cookie)
let deviceId = getCookieServerSide('deviceId', cookie)
if (token) {
context.commit('SET_TOKEN', { token })
}
if (userId) {
userId = parseInt(userId)
context.commit('users/SET_USER_ID', userId, { root: true })
}
if (!deviceId) {
deviceId = generateUniqueId()
setCookie('deviceId', deviceId)
}
context.commit('SET_DEVICE_ID', deviceId)
}
} catch (error) {}
这是初始方法,setCookie 看起来像这样:
export const setCookie = (name, value) => {
Cookie.set(name, value)
}
通过读取不同的 cmets 这应该是有效的解决方案,但不会保存 cookie
【问题讨论】:
-
您使用哪个库来设置 cookie?您将需要使用支持在服务器上设置 cookie 的库。
-
@FlorianPallas 我正在使用
Cookie-js -
然后尝试使用支持服务器端的库,就像@NicolasPennec 推荐的那样。
-
@NicolasPennec 它正在工作,你