【发布时间】:2013-10-06 15:54:37
【问题描述】:
我有一个使用简单的 window.location.href 命令启动的文件下载。由于我停留在同一个页面上,我想调用一个不同的函数来刷新页面的一部分,但是下载后这个其他函数没有被执行。有没有办法做到这一点? 我想我正在寻找类似 ajax 的“成功”选项。
谢谢!
【问题讨论】:
-
在
window.location.href?之后你如何停留在同一页面上,你应该正在等待异步调用以完成下载。 -
不,没有,但是有一些变通方法,使用 ajax 或 cookie 检查下载何时完成,然后执行某些操作。
-
我停留在同一页面上,因为我将 URL 指向控制器,该控制器将文件返回给我,其中包含内容处置设置和正确的 mime 类型。因此,如果我使用非常简单的 ajax 后调用而不进行任何处理,只需添加
success: function(){myfunc(a)}.. 可以吗? -
最好的方法可能是下载完成后在服务器端设置一个cookie,然后用javascript不断检查cookie,当检测到cookie时做一些事情。
-
我认为这次下载不会有那么大的问题。 :) 感谢您的回复!
标签: javascript jquery function download