axios常用功能的全局配置

常用全局配置

1. 全局配置请求ip及端口号

axios.defaults.baseURL = global.HOST; (默认地址)

2. 配置axios请求头中的content-type为指定类型

axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
或者
{headers:{'Content-Type':'application/x-www-form-urlencoded'}}

3.请求超时时间

axios.defaults.timeout = 10000;   // 超时时间

4.interceptor拦截器

也可以叫中间件、钩子函数,会在特定的操作之前或之后触发。

(1)请求拦截器(前置钩子)
在发送请求之前都会首先执行的方法。比如 带上token

axios.interceptors.request.use(
    config => {
        // 获取 token 值,若不存在,则为空
        const token = sessionStorage.getItem('token') || '';
        // 将参数由对象转换为formData格式
        // config.data = QS.stringify(config.data)
        // 给请求头中拼接 token 参数
        config.headers = {
            ...config.headers,
            Authorization: token
        }
        return config;
    },
    error => {
        return Promise.reject(err);
    }
);

(2)响应拦截器
在返回数据之后都会首先执行的方法。比如判断 token是否过期,过期了怎么处理

axios.interceptors.response.use(function (response){
  if(response.data.code == 494){
   sessionStorage.removeItem("token")
    router.replace({
      path: '/login' // 到登录页重新获取token
    })
  }else if(response.data.token){
    sessionStorage.setItem("token",response.data.token)
  }
  return response
},function(error){
return Promise.reject(error)
});

5. 跨域访问需要发送cookie时

跨域访问需要发送cookie时一定要加
	axios.defaults.withCredentials = true;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值