vue封装axios!!!!

一、安装引入axios(npm安装,var axios = require(‘axios’))
二、新建一个js文件随便叫什么名字,比如axios.js
三、设置请求的基础路径(域名,ip等)
// 配置API接口基础地址
// axios.defaults.baseURL = process.env.API_ROOT(来回切换)
// axios.defaults.baseURL = ‘http://10.8.8.8:8080/wanhai’
axios.defaults.baseURL = ‘https://wanhai.duo-ai.com/wanhai’
四、token验证

let headers = `${
    !localStorage.getItem('headers') ? null : localStorage.getItem('headers')}`
axios.defaults.headers.authorization = headers

需要判断是否有,有就带上。token在登录成功返回时保存(vuex、localStorage等)
五、axios.interceptors.request.use(config =>{})请求拦截
所有请求都会经过这里,可以做一些特殊配置。
六、axios.interceptors.response.use(funtion(response){})响应拦截可以对响应的数据做处理response
七、开始封装axios的get、post等

全部代码:

// 引用 axios
var axios = require('axios')
const qs = require('qs')
// 配置API接口基础地址
// axios.defaults.baseURL = process.env.API_ROOT
// axios.defaults.baseURL = 'http://10.8.8.8:8080/wanhai'
axios.defaults.baseURL = 'https://wanhai.duo-ai.com/wanhai'
// token验证
axios.defaults.headers.common['Content-Type'] = 'application/json'
let headers = `${
    !localStorage.getItem('headers') ? null : localStorage.getItem('headers')}`
axios.defaults.headers.authorization = headers
console.log(axios.defaults)
// 请求的拦截器,所有的请求都会经过这个拦截器
axios.interceptors.request.use(config => {
   
  // Do something before request is sent
  const token = localStorage.getItem('token')
  // 为每个请求头都添加认证TOKEN,注意由于后台使用的是JSON WEB TOKEN,
  // 所有token 之前要带上 Bearer空格
  // 当我们在请求头里带上token的时候,浏览器默认将这个请求视作复杂请求
  /* 当请求被视作复杂请求的时候,浏览器会对服务器发起两次请求
      第一次请求: OPTIONS,这个请求的作用,检测是否能够正常连接服务器
      第二次请求: get/post,这个请求就是正式请求数据
  */
  // ['Content-Type']请求头类型的定义
  config.headers.common['Content-Type'] = 'application/json'
  config.headers.authorization = 'Bearer ' + token
  return config
}, error =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值