繁体   English   中英

参考错误:未定义 LocalStorage - NextJS

[英]Reference Error: LocalStorage not defined - NextJS

我正在尝试从我的本地存储中获取访问和刷新令牌,但是每当我尝试时,它都会给我 500:Internal Server Error 并返回 LocalStorage 未定义。

我环顾四周,发现 LocalStorage 没有使用组件渲染,因此出现了问题。

我将如何获得代币并在这里使用它们?


const getRefreshToken = () => {
    return localStorage.getItem("refresh_token") //this returns the error
}

const refreshAuthLogic = failedRequest => axios.post(`${BASE_URL}/token/refresh`, getRefreshToken()).then(tokenRefreshResponse => {
    localStorage.setItem('access_token', tokenRefreshResponse.data.token);  //maybe these will cause error too, I am not sure.
    localStorage.setItem('refresh_token', tokenRefreshResponse.data.refresh_token);
    failedRequest.response.config.headers['Authorization'] = 'Bearer ' + tokenRefreshResponse.data.access_token;
    return Promise.resolve();
});

createAuthRefreshInterceptor(axios, refreshAuthLogic);

const getAccessToken = () => {
    return localStorage.getItem("access_token") //this returns the error
}

const authAxios = axios.create({
    baseURL: BASE_URL,
    headers: {
        Authorization: `Bearer ${getAccessToken()}`
    }
})

authAxios.interceptors.response.use(createAuthRefreshInterceptor)

export {authAxios}

那么脚本中的 localStorage 访问错误检查在哪里?

var L='';

if(window.localStorage!==undefined){


 try{ L=window.localStorage;} catch(e){ alert(e); }


} else { alert('LS Disabled'); }

通过适当的错误检查,您将确切知道问题所在,并且您不必在此处发布您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM