【发布时间】:2022-01-18 16:20:30
【问题描述】:
我正在打一个简单的window.location.href 电话以开始下载文件。之后,我调用一个方法来重新加载一个表。
window.location.href = url;
this.getFileListing();
但是重新加载太快了,因为href创建了一个数据库记录。
添加 1 秒超时修复它:
window.location.href = url;
setTimeout(() => {
this.getFileListing();
}, 1000);
...但这太草率了。在调用重新加载之前如何等待下载开始(因此数据库记录将存在)?
*注意:窗口的位置不会改变。我只是使用 windows.location.href 来调用本地路由,该路由开始下载文件。因此,我不相信 popstate 或 hashchange 会起作用。
【问题讨论】:
-
如果
url具有相同的来源,您可能需要使用具有下载属性的锚标记进行调查。这将允许您触发下载而不会导致重新加载:developer.mozilla.org/en-US/docs/Web/HTML/Element/…
标签: javascript ajax vue.js