【发布时间】:2022-05-14 01:29:33
【问题描述】:
我的页面上有一个 HTML 链接。
<a id="myDownLoadlink" data-bind="attr: { href: uRlPath }" style="visibility: hidden">Get data file</a>
当我单击链接时,我会调用 Web API 服务并下载一些文件。我不明白如何在下载内容时显示进度条。这就是我调用 Web API 服务的方式
uRlPath("/api/GetMyData?id=" + 2
+ "&name=" + name.toString());
$('#myDownLoadlink').click();
location.href = $('#linkToDownload').attr('href');
如果我可以使用 Ajax 调用,那么显示进度条可能很容易,但在我的情况下,由于某种原因我不能这样做。请告诉我是否有任何出路。
【问题讨论】:
-
除非您使用 Ajax,否则您无法控制页面加载。浏览器只是加载一个新页面,而旧页面被忽略/丢弃。唯一的解决方案是使用 Ajax 调用(然后您可以进行进度、转换等)。
-
@TrueBlueAussie 除了 Ajax 就没有办法了吗?应该有办法的。过去我们没有 Ajax。请检查是否可以做些什么。我真的需要它。我会非常感谢你
-
在“过去”中,如果没有 Ajax,您也无法做到这一点。 Ajax 已经存在了很长时间。 为什么你不能使用Ajax/jQuery/Javascript?
-
@TrueBlueAussie 所以你说这是不可能的
-
您应该询问 文件损坏,因为 您 错误地设置了请求或响应。 Ajax 不会无缘无故地破坏数据! :)
标签: jquery html hyperlink asp.net-web-api