微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 你能用Javascript来检测服务器端创建的文件下载窗口吗?

我有一个jQuery插件,用于在default.aspx asp.net页面上动态创建和呈现表单,然后提交它.它提交的页面是pdf.aspx页面.页面构建PDF然后使用Response.Write将文件(application / pdf)写入浏览器.我也使用相同的方法将XLSX文件呈现给浏览器.它的效果非常好,但是我需要一个回调或一些事件来告诉按钮什么时候停止旋转.这可以防止用户连续单击Excel或PDF按钮.当没有使用javascript创建文件对话框窗口时,是否有人知道检测文件对话框窗口的方法?我也对服务器端的其他回调方法持开放态度.

解决方法

我这样做是为了回应我刚才在T.J.提出的一个问题.克劳德.我上次写这篇文章时找不到响应,因为Stackoverflow“搜索”工具非常蹩脚,所以我可能会在博客文章中输入.基本思想是您的客户端代码(Javascript)在提交下载请求时应附加一个额外的参数.该参数应包含一些生成随机字符串(可能只是当前时间戳足够好).然后服务器查找该参数,当它使用下载文件准备响应时,它还会设置一个cookie并为其提供该随机值.

在提交之后(或之前;它并不重要),Javascript代码应该启动一个间隔计时器,用例程查看document.cookie的值,看看它是否包含该随机字符串.一旦cookie确实包含该字符串,那么您就知道服务器已发回其响应并且已经显示文件下载对话框.

原文地址:https://www.jb51.cc/aspnet/251432.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐