kai*_*aur 8 javascript java servlets
我在.vm文件中通过href调用servlet(因为我在前端使用velocity framwork)当请求进入servlet时我正在下载文件.用于下载的文件生成大约需要30秒,因此我想通过弹出窗口指示最终用户.为此我在.vm文件中调用了相同href的函数,该函数打开弹出窗口,指示文件当前正在生成请耐心等待.但是当文件生成和下载完成时我想删除弹出的文件.我通过servlet上的重定向尝试了这个,但谷歌搜索后发现我们无法在下载(链接)后改变响应状态.
我在我的vm文件中调用javascript函数和servlet,就像这样
<a href="/overriderulehandler?report=1" onClick="return reportResponse()"> Generate Report </a>
Run Code Online (Sandbox Code Playgroud)
overriderulehandler正在调用我的servlet,我正准备下载文件,reportResponse是JS函数,我在其中打开弹出窗口.
请建议我如何完成这项任务.如果有人对此有其他想法,请分享.任何帮助表示赞赏.
这个 onClick 处理程序对我有用。
onclick="setTimeout(function(){window.location.href='test.html'},100)"
Run Code Online (Sandbox Code Playgroud)
您可以将其放在调用 servlet 的锚标记中,封装的匿名函数可以调用您喜欢的任何其他函数。“test.html”可能是一个页面,上面写着“您的文件正在准备中,很快就会下载。
servlet 上响应的内容类型应与您推送的文件类型匹配,以便浏览器知道下载文件而不是尝试打开它。