Axios设置token到请求头的三种方式
温馨提示:这篇文章已超过369天没有更新,请注意相关的内容是否还可用!
1、为什么要携带token?
用户登录时,后端会返回一个token,并且保存到浏览器的localstorage中,可以根据localstorage中的token判断用户是否登录,登录后才有权限访问相关的页面,所以当发送请求时,都要携带token给后端进行判断。
2、Axios设置token请求头的三种方式
第一种:配置前置拦截器(因为每次发送axios请求都要携带token信息,所以可以在main.js中进行全局配置)
就是在发送axios请求之前将请求拦截,添加头部信息后再发送请求
import axios from 'axios'
//配置axios的全局基本路径
axios.defaults.baseURL = 'http://localhost:8080';
//全局属性配置,在任意组件内可以使用this.$http获取axios对象
Vue.prototype.$http = axios
// 配置axios前置拦截器,作用是让所有axios请求携带token,后台需要token校验是否登录
axios.interceptors.request.use(config => {
// 1.从缓存中获取到token,这里的Authorization时登录时你给用户设置token的键值
let authorization = localStorage.getItem("Authorization");
// 2.如果token不为null,那么设置到请求头中,此处哪怕为null,我们也不进行处理,因为后台会进行拦截
if (authorization) {
//后台给登录用户设置的token的键时什么,headers['''']里的键也应该保持一致
config.headers['Authorization'] = authorization;
}
// 3.放行
return config;
}, error => {
//失败后抛出错误
Promise.reject(error);
})
第二种:设置defaults.headers.common来设置全局的请求头
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
第三种:直接在请求中加
//get请求
axios.get('/api/data', {
headers: {
'Authorization': `Bearer ${token}`
}
});
//post请求
axios.post('/api/data', {}, {
headers: {
'Authorization': `Bearer ${token}`
}
});
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

