npm下载
npm i axios --save
可以在 main.js 中引入 也可以在需要用到请求的页面进行引入
不封装的
import axios from 'axios'
Vue.prototype.$axios = axios;
this.$axios.get && this.$axios.post
import axios from 'axios'
axios.get && axios.post
往下看
<button @click="getHandle">发送get请求</button>
<button @click="postHandle">发送post请求</button>
getHandle(){
axios.get("https:xxx",{
params:{
page:3
per:1
},
headers:{}
}).then(res=>{
console.log(res)
})
},
postHandle(){
axios.post("https:xxxxxx",
{
userName:'xiaoming'
password:"111111"
},
{
params:{
a:123,
b:'哈哈哈'
}
}).then(res=>{console.log(res))
.catch(err=>{console.log(err)})
}
封装axios
import axios from 'axios'
const instance = axios.create({
baseURL:"你的请求地址前缀",
timeout:5000
})
instance.interceptors.request.use(
function(config){
console.group('全局请求拦截,网络请求都会先执行此方法');
console.log(config);
console.groupEnd();
config.headers.token = "12345"
return config;
},
function(err){
return Promise.reject(err);
}
)
instance.interceptors.response.use(
function(response){
console.group('全局响应拦截,网络请求返回数据之后都会先执行此方法');
console.log(response);
console.groupEnd();
return response;
},
function(err){
return Promise.reject(err);
}
)
export function get(url,params){
return axios.get(url,{
params
});
}
export function post(url,data){
return axios.post(url,data)
}
export function del(url){
return axios.delete(url)
}
export function put(url,data){
return axios.put(url,data)
}