当前位置:   article > 正文

axios vue 加载效果动画_vue 优雅的axios 进行ajax请求集合element进行请求loading动画...

axios请求动画

1.新建一个js文件,假设为ajax: 代码如下->

//  引入本地axis

import axiosfrom "axios/index";

引入ele门插件 按需引入

import {Loading, Message, Notification}from 'element-ui'

引入你定义的路由

import routerfrom '../router/index'

引入你定义的vuex

import storefrom '../store/index'

进行axios默认配置

axios.defaults.timeout =5000

axios.defaults.headers.post['Content-Type'] ='application/json;';

var that =this

// http请求拦截器

var loadinginstace

axios.interceptors.request.use(config => {

// element ui Loading方法

loadinginstace = Loading.service({fullscreen:true})

const token = window.localStorage.getItem('setTokenTicket')

if (token) {

config.headers['token'] = token

}

return config

}, error => {

loadinginstace.close()

Message.error({

message:'加载超时'

})

return Promise.reject(error)

})

// http响应拦截器

var that =this

axios.interceptors.response.use(data => {// 响应成功关闭loading

loadinginstace.close()

if (data.data.code ===401) {

store.commit('userOut')

localStorage.clear()

setTimeout(function () {

Notification.success({

title:'没有权限',

message:'token失效,跳转到登录页面'

})

router.replace({

path:'/user'

})

},1500)

return false

}else if (data.data.code ===500) {

Notification.success({

title:'数据错误',

message: data.data.msg

})

return false

}else if (data.data.code ===2000) {

Notification.success({

title:'参数错误',

message: data.data.msg

})

return false

}else if (data.data.code ===0) {

return data

}

}, error => {

console.log(error)

loadinginstace.close()

Message.error({

message:'加载失败'

})

Notification.success({

title:'网络错误',

message:'请检查网络连接或者联系管理员'

})

return Promise.reject(error)

})

export default axios

2. 挂载原型上面 vue

// ajax第一步定义的文件

import axiosfrom './config/ajax';

Vue.prototype.$axios = axios;

3.使用

this.$axios.method()  // 具体看文档

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/227717
推荐阅读
相关标签
  

闽ICP备14008679号