封裝axios

import axios from 'axios'
// import store from '@/vuex/store.js'
import router from '../router'
import qs from 'qs'


const instance = axios.create({});

instance.defaults.baseURL = 'http://mini.youhulianchuang.com';
instance.defaults.timeout = 5000;
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
instance.defaults.headers.post['X-Requested-With'] = 'XMLHttpRequest';
instance.defaults.headers.post['top-token'] = 'top-token';
instance.defaults.responseType = 'json';




// 請求攔截
instance.interceptors.request.use(function (config) {
    // 在發送請求以前作些什麼
  console.log('請求攔截')
  console.log(config)
    return config;

  }, function (error) {
    // 對請求錯誤作些什麼
    // alert('網絡錯誤,請稍後再試');

  });

// 對傳給後臺的數據作統一的操做
instance.defaults.transformRequest=[function (data) {
  // 對 data 進行任意轉換處理

  Object.assign(data,{age:21})
  console.log(data)
  return data;

}]

// `transformResponse` 在傳遞給 then/catch 前,容許修改響應數據
instance.defaults.transformResponse=[function (data) {
  // 對 data 進行任意轉換處理
  console.log(data)

  return data;
}]

	// 添加響應攔截器
instance.interceptors.response.use(function (response) {
  console.log('添加響應攔截器')
    console.log(response)
  	return response.data;

	}, function (error) {
  	// 對響應錯誤作點什麼

	if(error.response) {

	}
  	// return Promise.reject(error);
});


export default {
install: function(vm){
    vm.prototype.$instance = instance;
}

 二、調用

在main.js中引入封裝文件並看成vue插件使用javascript

import Utile from './lib/utils'vue

Vue.use(Utile)java

三、在模塊中使用get請求

this.$instance.get(`Employee/Detail/${this.$route.query.userId}`
                ).then((res)=>{    
                    console.log(res.data)
                    if(res.data.code == 0){
                       操做
                 }
                 else{ios

}vuex

})json

四、在模塊中使用post請求

 this.$instance.post("/enumList",
                  params).then(({ data: { data = []} = {} })=>{
                  console.log(data)
                })
                .catch((error) =>{
                  console.log(error);
                });
      })axios

注:params是參數網絡

相關文章
相關標籤/搜索