vue axios 在页面切换时中断请求方法 ajax

前端之家收集整理的这篇文章主要介绍了vue axios 在页面切换时中断请求方法 ajax前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如下所示:

{ //强行中断请求要用到的 cancel = c }) }).then(res =>res.data,res=>{ //中断请求和请求出错都会走这里,我这里用 cancelAjaxText 来区别 if(res.message == cancelAjaxText){ return {status : false,msg:cancelAjaxText} }else{ this.$confirm('登录过时,是否重新登录','提示',{ confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning' }).then(() => { window.location.href = Vue.prototype.url_head + '/'; }).catch(() => {
          });
    }

        })
return ajax;

};

接入 axios,在POST方法里加入 cancelToken 数据,在上面else中,中断请求和请求出错都会走那里,所以用一个msg来识别(因为接口返回中也有一个msg,统一一下);

以下是 中断请求的方法,放在 路由切换的监听 router.beforeEach 中 ,cancel 是中断的方法,在post 的 cancelToken 里面拿出来的

页面强行中断请求 router.beforeEach中用到 if(cancel){ cancel(cancelAjaxText); } }
{ Vue.prototype.cancelAjax() next(); });

调用post

this.post(this.ajaxUrl + 'getCrTree',{ devAddr : this.changeData.devAddr,innerId : this.changeData.innerId,}).then(ret=>{ if(ret.status){
}else{ 
 this.msg(ret.msg); 
} 

})

以上这篇vue axios 在页面切换时中断请求方法 ajax就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

猜你在找的Vue相关文章