需要通过cmd命令来安装
cnpm install axios
在main.js中通过
import axios from 'axios'
Vue.prototype.$axios = axios;
来引入
最后为了直接使用它,可以参考地址
来配置呐
我们这边请求有大神封装的方法
equestAxios(type, action, data, state, title, act, Callback) {
let self = this;
self.url = self.$CONFIG().apiHost + action;
if (type === 'p') {
self.$axios.post(self.url, qs.stringify(data)).then((res) => {
//console.log(res.data);
if (res.data.status != 1) {
eval("self." + state + " = false");
//self.sendMsgBoxOk(res.data.msg, title,res.data.msg);
return false;
} else {
self.result = res.data;
sessionStorage.setItem(action, JSON.stringify(res.data));
if (state)
eval("self." + state + " = false");
if (Callback)
eval("self." + Callback + "(res)");
}
})
} else {
self.$axios.get(self.url, {
params: data
}).then((res) => {
console.log(res)
if (Callback)
eval("self." + Callback + "(res)");
})
}
},
后来又有其他类型的请求就有了一个改版的
requestAxios(type, action, data, state, title, act, Callback) {
let self = this;
/* self.url = self.$CONFIG().Host + action;*/
self.url = self.$CONFIG().userHost + action;
if (type === 'p') {
self.$axios.post(self.url, qs.stringify(data)).then((res) => {
//console.log(res.data);
if (res.data.status != 1) {
eval("self." + state + " = false");
self.sendMsgBoxOk(res.data.msg, title, act);
return false;
} else {
self.result = res.data;
sessionStorage.setItem(action, JSON.stringify(res.data));
if (state)
eval("self." + state + " = false");
if (Callback)
eval("self." + Callback + "()");
}
})
} else if (type === 'put') {
self.$axios.put(self.url, JSON.stringify(data),{ headers: {'Content-Type': 'application/json;charset=UTF-8'
}}).then((res) => {
if (res.data.status != 1) {
eval("self." + state + " = false");
self.sendMsgBoxOk(res.data.msg, title, act);
return false;
} else {
self.result = res.data;
sessionStorage.setItem(action, JSON.stringify(res.data));
if (state)
eval("self." + state + " = false");
if (Callback)
eval("self." + Callback + "()");
}
}).catch(function (response) {
console.log(response);
self.sendMsgBoxOk(response.response.data.errMsg, title, act);
return false;
});
} else {
self.$axios.get(self.url, {
params: data
}).then((res) => {
self.result = res.data;
sessionStorage.setItem(action, JSON.stringify(res.data));
if (state)
eval("self." + state + " = false");
if (Callback)
eval("self." + Callback + "()");
})
}
},
可以请求Put类型,另外
带参数的post可以参考
getData() {
let self = this;
var sendData = null;
var sendData={
"condition":self.select_word+''
};
var url = self.getPageUrl(self,self.action.getmemberInfo );
//self.requestAxios('p', self.action.getmemberInfo, sendData, 'loading', '错误提示', '列表加载失败', 'axiosCallback');
self.requestAxios('p', url, sendData, 'loading', '错误提示', '列表加载失败', 'axiosCallback');
},
getPageUrl(self,url){
return url + "?prePage=" + self.limit + "&num=" +self.cur_page;//prePage就是每页显示的条数num是页码prePage你传1就是每页只显示1条
},
还有他们配置了一个mixins我不知道是怎么回事