我有一个具有导出功能的angularjs应用程序。 Export动态生成服务器端的文件。此文件的生成可能是几秒到几分钟。我希望能够为用户提供服务器生成文件的某种状态。即使它只是页面上的一个微调器,让用户知道正在发生的事情。
然而我的问题是这个。我没有将“GET”请求作为角度资源。我只是设置:
window.location.href
指向将启动文件生成的服务器上的URL,并将其发送回客户端。
这意味着如果文件需要1分钟来生成浏览器的下载对话框,则在该分钟过去之前不会弹出该文件并且文件已准备好下载。
有没有办法发出GET请求文件下载,然后在get请求成功时获得回调?
答案 0 :(得分:1)
您可以在隐藏的iframe中启动下载文件并显示加载程序,并在使用onload事件处理程序加载iframe时隐藏加载程序。
下面的示例代码只是为了给您一个想法 -
hiddenIframe.src = url;
loader.show();
hiddenIframe.onload = function() {
loader.hide();
};