美文网首页
vue路由跳转取消请求

vue路由跳转取消请求

作者: 书简_yu | 来源:发表于2019-02-18 22:17 被阅读0次

路由跳转时,上一个路由里的请求应被取消

axios请求头设置

axios.interceptors.request.use(

      config => {

            config.cancelToken = new CancelToken(function(cancel){

                   store.commit('pushToken', {

                          cancelToken: cancel
                  })
             }

             .....
      }
)

router/index.js

router.beforeEach((to, from, next) => {
      
       store.commit('clearToken'); // 取消请求
       
        ....
})

store.js

//state
cancelTokenArr: [], // 取消请求token数组

//mutation
pushToken(state, payload){

     state.cancelTokenArr.push(payload.cancelToken);
},

clearToken({cancelTokenArr}){

     cancelTokenArr.forEach(item => {
            
           item('路由跳转取消请求');
     });

     cancelTokenArr = [];
}
  • 将取消方法cancel放到数组中,然后在路由守卫中把数组中存有的cancel方法都执行

  • 参考
    vue axios请求 取消上一个页面所有请求 批量取消请求

  • other
    使用axiso进行post传参时,有一种方法是将数据使用qs.stringify(postDate)转一下,其实它是将其转成了字符串,图中第一行数据

07779deb90d54bd1e7f187f4c4e3a4a.png 2fcc5c210afa0a0fb9c554cb3f29979.png

相关文章

  • vue路由跳转取消请求

    路由跳转时,上一个路由里的请求应被取消 axios请求头设置 router/index.js store.js 将...

  • vue-router路由守卫

    vue-router导航钩子 vue-router导航钩子的主要作用是拦截导航,让路由完成跳转或者取消; 导航钩子...

  • vue路由跳转取消上个页面的异步请求

    背景:我们经常会遇到当前页面未加载完毕时跳转路由或者返回操作, 但是通过network会发现, 若网络环境较差的情...

  • vue-router路由跳转

    vue路由跳转部分的内容

  • vue 粘贴板

    vue3 路由跳转 交互

  • 第一个flutter实例

    显示列表,添加收藏,取消收藏,主路由与子路由跳转

  • Vue应用

    Vue项目 Vue结构 Vue项目打包与发布 Vue语法二 Vue网络请求 Vue路由 动态路由 编程式路由导航

  • vue-router用法

    vue 路由 路由点击跳转不会页面刷新,可以保留数据 安装vue-router:npm install vue-r...

  • vue-router进阶

    导航守卫 vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航(路由发生改变才会守卫)。参数 ...

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

网友评论

      本文标题:vue路由跳转取消请求

      本文链接:https://www.haomeiwen.com/subject/mittyqtx.html