如下所示:
{ //强行中断请求要用到的
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就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/vue/33368.html