关于axios请求携带cookie以及封装


import axios from 'axios'
import Vue from 'vue'
import Qs from 'qs'
import JsCookie from 'js-cookie'//需要安装js-cookie插件
axios.defaults.timeout = 5000
axios.defaults.withCredentials= true//允许跨越时携带cookie并不是加上就能跨域

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
const AUTH_TOKEN = JsCookie.get('token');
if (JsCookie.get('token')) {//需要导入js-cookie插件
  console.log(3)
  axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
}
//判断环境
if (process.env.NODE_ENV === 'development') {
  axios.defaults.baseURL = 'https://api.apiopen.top';
} else {
  axios.defaults.baseURL = '';
}
//请求之前的配置
axios.interceptors.request.use(function (config) {
  // console.log(config.method)
  if (config.method.toLowerCase() === 'post') {
    config.data = Qs.stringify(config.data)
  }
  return config;
}, function (error) {
  return Promise.reject(error);
});
//响应之后的配置
axios.interceptors.response.use(function (response) {
  return response;
}, function (error) {
  console.log(error);
  return Promise.reject(error);
});
export default axios;
//挂载到vue原型上
Vue.prototype.$http = axios


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM