vue+axios 拦截器实现统一token

需求

要想统一处理所有http请求和响应,就得用上 axios 的拦截器。通过配置 http response inteceptor ,当后端接口返回 401 Unauthorized(未授权) ,让用户重新登录。通过这个项目学习如何实现一个前端项目中所需要的 登录及拦截、登出、token失效的拦截及对应 axios 拦截器的使用。
代码如下:

const instance = axios.create({
    baseURL:  'http://www.laravel5.5.com/api/',
    timeout: 10000,
});

//POST传参序列化(添加请求拦截器)
// 在发送请求之前做某件事
instance.interceptors.request.use(config => {
//     // 设置以 form 表单的形式提交参数,如果以 JSON 的形式提交表单,可忽略
    if(config.method  === 'post'){
        // JSON 转换为 FormData
        const formData = new FormData();
        Object.keys(config.data).forEach(key => formData.append(key, config.data[key]))
        config.data = formData
    }
    // 下面会说在什么时候存储 token
    if (localStorage.token) {
        config.headers['Authorization'] = localStorage.token;
        config.headers['Accept'] = 'application/json';
        // config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
        // store.dispatch('logined', l
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值