首页 > 解决方案 > 登录时没有为 axios 拦截器附加会话令牌

问题描述

嗨,我需要在登录后为服务请求附加 sessiontoken,为了成功登录,我正在使用 this.props.history.replace('/cards') 并且它正在重定向到卡片页面但最初 sessiontoken 不会添加到标题中,一旦我刷新页面 sessiotoken 正在添加到请求标头中:在 index.js 中,我正在使用 axios 拦截器:

const sessionToken = localStorage.getItem("sessionToken");
  axios.interceptors.request.use(
            request => {
              console.log("inside index.js");
              if (sessionToken) {
                request.headers.sessionToken = sessionToken;
              }
              return request;
            },
            error => {
              console.log(error);
              return Promise.reject(error);
            }
          );

在卡片文件中:

const res = await axios.get(
      "url"
    );

在登录

 localStorage.setItem('accountInfo',JSON.stringify(response.data.account));
          localStorage.setItem('sessionToken',response.data.sessionToken);
          //this.props.history.replace('/cards')
          this.props.history.push('/cards');

我已经尝试过history.push 和history.replace 这两个问题在哪里有任何帮助。

标签: javascriptreactjsreact-router

解决方案


推荐阅读