2012-02-29 210 views
0

我有一个页面可以生成一个PDF并自动下载文件。jQuery ajax加载自动下载页面

我必须提交一些变量到页面才能生成PDF。现在我有它使用jQuery这样$("#expForm").submit();提交表单。我正在提交表单jQuery,因为我必须在提交表单之前应用一些逻辑。

这工作正常,并立即弹出一个PDF。

问题是我需要有某种加载图标出现,因为导出页面加载了大量数据,我不想混淆用户。

我尝试使用$.post('exp.html', $("#expForm").serialize() ,function(data) {});

出口页面加载这样做,但它不弹出的PDF。如果我从Firebug的控制台打开链接,则会加载PDF。

有谁知道的一种方式,使其自动下载PDF使用上这个$.post()

任何帮助将是巨大的。谢谢

回答

1

的路径返回到PDF文件中的响应,并在成功处理程序重定向

$.post('exp.html', $("#expForm").serialize() ,function(data) { 
location.href='path/to/pdf'; 
}); 
+0

感谢您的帮助。我最终使用了与此相近的东西。 – Sequenzia 2012-03-02 04:26:57

0

这是不可能的使用$.post(),但您可以使用隐藏iframe并具有将数据提交给iframe的表单。

使用这种方法,您可以显示进度条或加载图标,直到服务器响应。然后你可以在iframeload事件中隐藏进度条。