vue中axios的统一封装及调用
Posted 1955
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中axios的统一封装及调用相关的知识,希望对你有一定的参考价值。
一、axios.js
1、安装axios
npm install axios --save
2、环境地址(config.js)
export default { // server: ‘http://localhost:8080‘ // 本地后台接口地址 // server: ‘http://10.2.22.88:8080‘ // 开发环境后台接口地址 server: ‘‘ // 正式环境后台接口地址 }
2、引用
import axios from ‘axios‘ import {Message} from ‘element-ui‘ import config from ‘../config/config.js‘ //环境地址 import qs from ‘qs‘
3、创建axios实例
const axios = axios.create({ baseURL: config.server, // 本地环境地址 timeout: 3000, // 请求超时时间,3000ms未响应则停止请求 withCredentials: true, // 允许携带cookie responseType: ‘json‘, headers: {‘Content-Type‘: ‘application/json‘} })
4、axios请求拦截器
axios.interceptors.request.use(function (config) { // 发送请求之前做一些处理 return config; }, function (error) { // 当请求异常时做一些处理 // 弹出错误消息 Message({ message: error.message, type: ‘error‘, duration: 5 * 1000 }) return Promise.reject(error); });
5、axios 响应拦截器
axios.interceptors.response.use(function (response) { // 返回响应时做一些处理 //判断返回状态 if (response.status === 200) { //逻辑处理 } } else { // 非200状态的处理 Message({ message: response.statusText, type: ‘error‘, duration: 5 * 1000 }) } return response; }, function (error) { // 当响应异常时做一些处理 Message({ message: error.message, type: ‘error‘, duration: 5 * 1000 }) return Promise.reject(error); });
二、api.js
调用
export const requestLogin = params => { return axios.post(`/remote/login`, params).then(res => res.data); };
三、界面调用
this.logining = true;
var loginParams = {
username: this.ruleForm2.account,
password: this.ruleForm2.checkPass
};
requestLogin(loginParams).then(data => {
this.logining = false;
if (code == 200) {
this.$message({
message: ‘成功‘,
type: ‘error‘
});
} else {
this.$alert(res.message, "错误", {
confirmButtonText: "确定"
});
}
});
以上是关于vue中axios的统一封装及调用的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装