安装
npm install axios --save vue-axios
axios配置
import axios from "axios";
axios.create({
baseURL: '127.0.0.1:8080/api',
timeout: 60 * 1000,
withCredentials: true,
changeOrigin: true
})
axios.interceptors.request.use(
request => {
console.log("请求成功");
return request;
},
error => {
return Promise.reject(error);
}
);
axios.interceptors.response.use(
response => {
console.log("响应成功");
return response;
},
error => {
return Promise.reject(error);
}
);
export default axios
import {createApp} from 'vue'
import App from './App.vue'
import axios from "./utils/axios";
import VueAxios from "vue-axios";
createApp(App)
.use(VueAxios, axios)
.mount('#app')
配置跨域
module.exports = {
publicPath: "/",
outputDir: "dist",
lintOnSave: false,
devServer: {
host: "127.0.0.1",
port: 8888,
open: true,
proxy: {
'/': {
target: "127.0.0.1:8080/api",
changeOrigin: true
}
}
}
}
测试
<template>
<div>
<button @click="testBth">测试</button>
</div>
</template>
<script>
import axios from "axios";
export default {
name: "Home",
methods: {
testBth() {
this.axios.get("/test").then(res => {
console.log(res.data);
}).catch(err => {
console.log(err);
})
},
}
}
</script>
<style scoped lang="less">
</style>