instance.interceptors.request.use(函数一,函数二) —>(config,err)
instance.interceptors.response.use(函数一,函数二) —>(res,err)
import axios from 'axios'
export function request(config) {
// 1.创建axios实列
const instance = axios.create({
baseURL: 'http://196.168.185.210:8080/api/q5',
timeout: 5000
})
// 2.axios拦截器的使用
// 1.请求拦截
instance.interceptors.request.use(config => {
//config中的内容不符合服务器需求
//希望在界面中显示动画
// console.log(config);
return config
}, err => {
console.log(err);
})
// 2.响应拦截
instance.interceptors.response.use(res => {
console.log(res);
console.log(res.data);
return res.data
}, err => {
console.log(err);
})
// 3. 发送网络请求
return instance(config)
}
//其他文件中使用
import Vue from 'vue'
import App from './App'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
render: h => h(App)
})
import { request } from './network/request'
request({
url: '/home/data',
params: {
type: 'pop',
page: 1
}
}).then(res => {
console.log(res);
}).catch(err => {
console.log(err);
})