vue+axios 一个关于token添加到header的时机问题

目前准备使用vue全家桶+axios重构项目,需要每个请求都带上token放在header中。

token是ajax获取,然后放在了cookie中有7天时间

我的想法是每次请求 axios.interceptors.request.use 拦截然后验证cookie中有没有token,如果没有再获取,但是获取token也需要通过这个拦截器,就必须先关闭再开启。很繁琐,请问有没有简洁的方法,或者是每次进项目的时候就直接获取token?

就是这个疑惑,一直没想通,求指点

阅读 16.2k
1 个回答

参考:https://segmentfault.com/a/11...

// http request 拦截器
axios.interceptors.request.use(
    config => {
        if (store.state.token) {  // 判断是否存在token,如果存在的话,则每个http header都加上token
            config.headers.Authorization = `token ${store.state.token}`;
        }
        return config;
    },
    err => {
        return Promise.reject(err);
});
推荐问题
宣传栏