VUE+axios拦截器,对于项目里所有数据交互的 ‘’前提判断‘’

今天做项目需要用到客户登录验证,没有判断否存在token与401响应判断,如有需要请参考
https://blog.csdn.net/u012369271/article/details/72848102/

运用axios自带的http response 服务器响应拦截器,判断返回内容中的数值,从而达到自己想要的效果

创建一个axios实例

import axios from 'axios'

const service = axios.create({
  baseURL: 'http://xxxx', // url = base url + request url
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  withCredentials: true, // 当跨域请求时发送cookie
  timeout: 25000 // request timeout
})

服务器请求拦截

service.interceptors.request.use(
  config => {
    // 在发送请求之前做些什么

    if (store.getters.token) {
      // 让每个请求携带令牌
      // ['X-Token'] 是一个自定义头键
      // 请根据实际情况修改
      config.headers['X-Token'] = getToken()
    }
    return config
  },
  error => {
    // 处理请求错误
    console.log(error) // for debug
    return Promise.reject(error)
  }
)

服务器响应拦截

axios.interceptors.response.use(// http response 服务器响应拦截器
  response => {
    console.log(response.data)   // response 获取到后台传过来的数据
    if(response.data.status==-1){   //判断自己所需的值
      history.go(0)
    }
    return response;   //输出(不可缺少)
  });

最后抛出

export default service

在api页面进行引用

import request from '@/utils/request'
import qs from 'qs'

export function login(data) {
  return request({
    url: '/login/login',
    method: 'post',
    data: qs.stringify({
      adUsername: data.username,
      adPassword: data.password
    })
  })
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值