Javascript 下载window.location.href后执行函数

Javascript 下载window.location.href后执行函数,javascript,jquery,function,download,Javascript,Jquery,Function,Download,我有一个文件下载,正在通过一个简单的window.location.href命令启动。因为我停留在同一个页面上,所以我想调用一个不同的函数来刷新页面的一部分,但下载后不会执行另一个函数。有办法做到这一点吗? 我想我在寻找类似ajax的“成功”选项 谢谢 一个简单的AJAX post调用就足够了。特别是对于异步和时间可变的内容,如文件下载,XMLHttpRequest的readyState属性非常有用。在window.location.href之后,您如何保持在同一页面上您应该等待异步调用来完成下

我有一个文件下载,正在通过一个简单的window.location.href命令启动。因为我停留在同一个页面上,所以我想调用一个不同的函数来刷新页面的一部分,但下载后不会执行另一个函数。有办法做到这一点吗? 我想我在寻找类似ajax的“成功”选项


谢谢

一个简单的AJAX post调用就足够了。特别是对于异步和时间可变的内容,如文件下载,
XMLHttpRequest
readyState
属性非常有用。

window.location.href之后,您如何保持在同一页面上您应该等待异步调用来完成下载。不,没有,但是有一些解决方法可以使用ajax或Cookie来检查下载何时完成,我呆在同一个页面上,因为我将URL指向控制器,该控制器将返回具有内容配置集和正确mime类型的文件。因此,如果我使用非常简单的ajax post调用,而不进行任何处理,只需添加
success:function(){myfunc(a)}
。。它能工作吗?最好的方法可能是在下载完成后在服务器端设置一个cookie,然后使用javascript不断检查cookie,并在检测到cookie时执行一些操作。我不认为下载会有那么大的问题。:)谢谢你的回复!简单的ajax调用没有触发“另存为”窗口。其他一切都很好,我只需要看到窗户打开。你知道怎么做吗?你有内容类型:八位字节流和内容配置:附件,你说的?是的,一切都在响应中正确设置!您可能想尝试创建一个iframe,并将其源代码设置为文件的位置(应该在AJAX响应中)。我刚刚研究了这个答案!