应用在vue项目里的axios使用方法
1.首先要安装axios,在你项目目录下安装axios。在命令行里输入:npm install axios;
2.然后要在main.js的入口文件里引入以下代码:
import axios from 'axios'
axios.defaults.baseURL = url;//这里写上自己的基础url,例如www.csdn.com
Vue.prototype.$axios = axios;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
import qs from 'qs';
Vue.prototype.qs = qs;
在组件中使用axios请求数据。
mounted() {
// get请求
this.$axios({
method: "get",
url: url,// 这里填写请求数据的路径
params: {// 这里填写请求数据的参数
user_id: 1,//这里如果设置了统一参数token,那么这里就不必再填写user_id
...
}
})
.then(res => {
console.log(res)
}, err => {
console.log(err);
})
// post请求
this.$axios({
method: "post",
url: url,
data: this.qs.stringify({
user_id: 1,
...
})
})
.then(res => {
console.log(res)
}, err => {
console.log(err);
})
},
新增一个请求数据必须携带的参数token(这步是非必须的,按照自己的项目需求来),这个token表示的是用户加密后的id;
//请求的拦截器
axios.interceptors.request.use(function (config) {
const token = token //设置统一参数,这个token的值要在cookie里面取
if(config.method === 'post') {
let data = qs.parse(config.data)
config.data = qs.stringify({
uid: uid,
...data
})
} else if(config.method === 'get') {
config.params = {
uid: uid,
...config.params
}
}
return config;
}, function (error) {
return Promise.reject(error);
})