1:package.json 添加
"proxy": "代理地址"
2 封裝axios
創建server.js 添加
import axios from "axios";
import qs from "qs";
import axios from "axios";
import qs from "qs";
//終止axios的fun
let axiosToken = null;
//請求超時時間
//axios.defaults.timeout = 10000;
// axios攔截器
axios.interceptors.request.use(
config => {
// 在發送請求之前做些什么
return config;
},
err => {
return Promise.reject(err);
}
);
axios.interceptors.response.use(
response => {
//請求完成token置空
axiosToken = null;
return response;
},
error => {
//請求完成token置空
axiosToken = null;
//提示信息
if (axios.isCancel(error)) alert(error.message, "center");
else alert("請稍后再試...", "center");
return Promise.reject(error.response.data); // 返回接口返回的錯誤信息
}
);
class HttpRequest {
get(httpUrl, paramsData, successFun, errorFun) {
axios
.get(httpUrl, paramsData)
.then(function(res) {
successFun(res);
})
.catch(function(err) {
console.log("請求失敗! " + err);
});
}
// post請求
post(httpUrl, paramsData, successFun, errorFun) {
let paramsDatas = paramsData;
//轉為json
paramsDatas = qs.stringify(paramsDatas);
axios
.post(httpUrl, paramsDatas, {
//終止請求
cancelToken: new axios.CancelToken(function executor(c) {
axiosToken = c;
})
})
.then(res => {
successFun(res);
})
.catch(err => {
console.log(err);
});
}
//終止請求
doCancelToken(msg = "取消") {
if (axiosToken) axiosToken(msg);
}
}
export default new HttpRequest();
3 引入使用 就可以了