其他分享
首页 > 其他分享> > 公共数据集采集-axios获取cookie中的session值

公共数据集采集-axios获取cookie中的session值

作者:互联网

1

/*获取指定名称的cookie值*/ 
export function getCookieValue(name) {
  let result = document.cookie.match(
    "(^|[^;]+)\\s*" + name + "\\s*=\\s*([^;]+)"
  );
  return result ? result.pop() : "";
}

2

 const session = getCookieValue("session");
            console.log('session',session);

3如果需要前端把session存入cookie,可参考下面请求头配置token的代码,我这里是后端直接存入

后台除了登录接口之外,都需要token权限验证,我们可以通过添加axios请求拦截器来添加token,以保证拥有获取数据的权限

在main.js中添加代码,在将axios挂载到vue原型之前添加下面的代码

\```

//请求在到达服务器之前,先会调用use中的这个回调函数来添加请求头信息

axios.interceptors.request.use(config=>{

//为请求头对象,添加token验证的Authorization字段

config.headers.Authorization = window.sessionStorage.getItem("token")

return config

})

4挂载路由导航守卫

ps:可以在跳转前执行操作
import { Dialog } from 'element-ui';
根据session:

 // 验证session
      router.beforeEach((to, from, next) => {
        const session = getCookieValue("session");
        if (!session && to.name !== 'login') {
          window.alert("登录已过期!")
          
          next({ name: 'login' }) 
        } else {
          next()
        }
      })

根据token

router.beforeEach((to,from,next)=>{

if(to.path === '/login')

return next();

//获取token

const tokenStr = window.sessionStorage.getItem('token');

if(!tokenStr)

return next('/login');

next();

})

export default router

标签:axios,return,公共数据,next,token,session,添加
来源: https://www.cnblogs.com/gracexin/p/15458545.html