我有一个生成PDF的页面并自动下载该文件。
我必须向页面提交一些变量才能生成PDF。现在我让它使用像这样$("#expForm").submit();
的jQuery提交表单。我提交表单jQuery,因为我必须在提交表单之前应用一些逻辑。
此工作正常,并立即弹出PDF。
问题是我需要出现某种加载图标,因为导出页面加载了大量数据而且我不想让用户感到困惑。
我尝试使用$.post('exp.html', $("#expForm").serialize() ,function(data) {});
导出页面加载但不会弹出PDF。如果我从Firebug的控制台打开链接,则PDF会加载。
有没有人知道如何使用$.post()
对此的任何帮助都会很棒。感谢
答案 0 :(得分:1)
在响应中返回pdf文件的路径,并在成功处理程序中重定向
$.post('exp.html', $("#expForm").serialize() ,function(data) {
location.href='path/to/pdf';
});
答案 1 :(得分:0)
使用$.post()
是不可能的,但您可以使用隐藏的iframe
并拥有一个将数据提交给iframe的表单。
使用此方法,您可以显示进度条或加载图标,直到服务器响应。然后,您可以在iframe
的{{1}}事件中隐藏进度条。