我们知道您无法通过ajax创建文件下载。
然而,您可以提交一个表格来创建下载提示。
当用户按下按钮时,我生成了一个很大的文件,因此我显示了“请稍候”的样式消息。
我的问题是,
如何检测表单提交何时完成,因此对话框已显示?
(这是隐藏信息)
答案 0 :(得分:0)
表单提交成功后放置重定向。如果重定向将命中浏览器无法显示的文件 - 它将开始下载。
在我的例子中,我从表单提交处理程序返回JavaScript代码,它形成了widget eval()。该代码可以重定向到后端生成的罚款。
也许我关于AJAX Forms最佳实践的博文会有所帮助: http://agiletoolkit.org/blog/forms/
如果你想保持简单,那么:
在Agile Toolkit中,它就像这样简单:
$f=$p->add('MyForm');
if($f->isSubmitted()){
$f->js()->univ()->location(prepare_file($f->getAllData()))->execute();
}
答案 1 :(得分:-2)
也许你应该尝试这样的事情
http://www.iamkumaran.com/xdownloader-a-flash-javascript-library/
请参阅演示文件下载的工作方式,我希望它可以为您提供帮助。