关于axios封装,如何在拦截器里的错误回调里优雅的引用模态框组件

发布于 2022-09-06 15:59:14 字数 772 浏览 11 评论 0

import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'

var ajax = axios.create({
  headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'},
  // 超时时间120s
  timeout: 120 * 1000,
  validateStatus (status) {
    return true
  }
})

ajax.interceptors.request.use((config) => {
  // 在请求发出之前进行一些操作 loding
  config.data = qs.stringify(config.data)
  return config
}, (error) => {
  return Promise.reject(error)
})

ajax.interceptors.response.use((res) => {
  // 在这里对返回的数据进行处理
  return res
}, (error) => {
  // TODO 待补充
  return Promise.reject(error)
})

Vue.prototype.ajax = ajax

export default ajax

例如我在请求之前想调用下loading组件,或者修改vue实例的属性load=true,或者在失败时调用下modal组件弹出下错误信息,怎么样才能引用的到呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

江挽川 2022-09-13 15:59:14

clipboard.png

七颜 2022-09-13 15:59:14

把组件封装成命令式调用,可以参考 mint-ui 的实现方式
https://github.com/ElemeFE/mi...

使用方式
http://mint-ui.github.io/docs...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文