把token存在请求头里,使用Axios来设置请求头(headers)的方法

传递一个对象参数

诸如post() 和get() 等Axios方法使我们能够在请求中附加头信息,方法是将头信息对象作为GET

请求的第二个参数和POST请求的第三个参数

这段代码为所有请求设置了授权头信息  

注意    axios.defaults.headers.common['Authorization']里面是有 ' ' 引号的
axios.defaults.headers.common['Authorization'] = `Bearer ${localStorage.getItem('access_token')`;
实际案例:在request.js里面封装的axios方法里的请求拦截器里

import axios from 'axios';
import { ElMessage, ElMessageBox } from 'element-plus';
import store from '@/store';
import { localStorage } from '@/utils/storage';

// 创建axios实例
const service = axios.create({
  baseURL: import.meta.env.VITE_APP_BASE_API, //VITE_APP_BASE_API开发环境
  timeout: 50000, // 请求超时时间:50s
  headers: { 'Content-Type': 'application/json;charset=utf-8' },
});



// 请求拦截器
service.interceptors.request.use(
  (config) => {
     console.log(config)
    if (!config.headers) {
      throw new Error(`Expected 'config' and 'config.headers' not to be undefined`);
    }
    
    const { isLogin, tokenObj } = toRefs(store.user.useUserStore());
    //拿到存在本地里的tokenObj,
    if (isLogin.value) {
    
      // 授权token认证    设置token
      config.headers['token'] = tokenObj.value.token;
    }
    return config;
  },
  (error) => {
    return Promise.reject(error);
  },
);

//响应拦截器

// 导出实例
export default service;
单个请求

POST和GET请求分别用于创建或检索一个资源。下面是一些一次性或单个请求的例子。

首先,我们声明config 对象,其中包含headers 对象,它将在提出请求时作为一个参数提供。我们还声明了一个api endpoint 和一个data 对象。

const config = {
  headers:{
    header1: value1,
    header2: value2
  }
};
const url = "api endpoint";

const data ={
  name: "Jake Taper",
  email: "taperjake@gmail.com"
}

我们可以使用GET请求从API端点url 检索config 对象。

axios.get(url, config)
  .then(res=> console.log(res))
  .catch(err=> console.log(err))

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值