直接上代码:
1.requst.js
import axios from "axios"
import { Promise } from "core-js";
const request = axios.create({
baseURL:"/api",
timeout:5000
})
//reques请求拦截器
request.interceptors.request.use(config => {
config.headers['Content-Type']='application/json;charset=utf-8';
return config;
},
erro => {
return Promise.reject(erro)
}
);
//response拦截器
request.interceptors.response.use(response => {
let res = response.data;
//返回文件
if(response.config.responseType=='blob'){
return res;
}
//字符串处理
if(typeof res == 'string'){
res = res ? JSON.parse(res) : res;
}
return res;
},erro => {
console.log('erro'+erro);
return Promise.reject(erro);
}
);
export default request
2.在main.js中注册使用
Vue.prototype.request = request
3.请求方法使用
paraams:表示参数的拼接 如 http://localhost:8081/user/page?username=&pageNum=1&pageSize=2
res:用户获取数据域内容 res.data(获取json数据的{"data":"数据"})
request
.get("http://localhost:8081/user/page", {
params: {
username: this.username,
pageNum: this.pageNum,
pageSize: this.pageSize,
},
})
.then((res) => {
this.tableData = res.records;
this.total = res.total;
});