最近发现vue中使用a标签下载有个很诡异的问题,就是刷新之后点击下载会下载两次。接着再点击下载又是下载一次。本地没有这样的情况,上线就出现这样的情况。有哪位大佬遇到过的吗?测试过了跟调用getList多少次没有关系,因为getList就是搜索不断搜索n次再点击下载都是纸下载一次。跟token没有关系,因为刷新之后getList也重新请求数据了,然后才点击下载,这个时候是存在token的。留言,感激不尽。
<a id="outExcelApplyCheckIn">下载</a>
getList(){
let params={}
this.setExcel(params)
},
setExcel(params) {
let outExcelApplyCheckInDom = document.getElementById('outExcelApplyCheckIn');
let token = this.$store.state.token;
let searchParamsHref = '';
let baseHref = `${url.export}?token=${token}`;
//判断对象是否有值
if (Object.keys(params).length > 0) {
for (let i in params) {
if (i != 'page' && i != 'size') {
searchParamsHref += `&${i}=${params[i]}`
}
}
}
let allHref = baseHref + searchParamsHref;
outExcelApplyCheckInDom.href = allHref;
},
猜测可能的原因是刷新之后,vuex中token被清空了。导致
这句话的地址改变了,所以向服务器又请求了一次。