axios 每次post、get请求都自动添加token?

发布于 2022-09-05 22:10:35 字数 786 浏览 11 评论 0

store.js:

postAxios({commit}){
    axios({
        method:'get',
        baseURL:'/api',
        url:'/resume/app_chat_resume_index',
        // headers:{'token':'abc'},
    })
        .then(function (rsp) {
            let json = rsp.data.data;
            commit('refreshData',json);
        })
        .catch(function (err) {
            console.log('请求失败',err);
        })
}

main.js里的拦截器:

axios.interceptors.request.use(
config => {
    if (token) {
        config.headers.Authorization = token;
    }
    return config
},
error => {
    return Promise.reject(error)
}
);

我想在每次请求都自动添加一个headers,
不想每次都手动添加,
拦截器写出报错了:请求失败 ReferenceError: token is not defined
这个是怎么回事??小白一个。。。
大神们,帮忙看看>_<

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦忆晨望 2022-09-12 22:10:35

你的第二段代码,使用 if(token)这里没有定义token,所以会报错。

要想每次都把token添加到headers上,你写的位置是对的,在 request的拦截器中设置,你只需要在这里把你保存好的 token 的值取到,设置一下就好了。

示例如下:

axios.interceptors.request.use(
config => {
    // 这里写死一个token,你需要在这里取到你设置好的token的值
    const token = 'this is a token';
    if (token) {
        // 这里将token设置到headers中,header的key是Authorization,这个key值根据你的需要进行修改即可
        config.headers.Authorization = token;
    }
    return config
},
error => {
    return Promise.reject(error)
});
七色彩虹 2022-09-12 22:10:35
axios.interceptors.request.use(
config => {
    if (token) {
        config.headers.Authorization = token;
    }
    return config
},
error => {
    return Promise.reject(error)
}
);

你判断条件里面的token在哪定义的?还没定义就使用了?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文