文件下载操作的Ajax
File Download Operation By Ajax
需要下载动态生成的文件(根据用户输入)…
我一直在使用mPDF (php模块创建pdf文件)。
gen.php
require("./MPDF56/mpdf.php");
$mpdf=new mPDF();
$mpdf->WriteHTML('<p>Hallo World</p>');
$mpdf->Output('filename.pdf','I');
这个脚本工作完美。输出方法可以有几个选项,如
'F' : to save pdf to local.
'S' : to return file as string.
'D' : to download the file.
'I' : force download... plug-in if available.
http://mpdf1.com/manual/index.php?tid=125 当浏览器读取gen.php。PDF档案将会下载。就像我说的,它工作得很好…
直到,我尝试用ajax做这件事。
这个脚本…
$.ajax({
type: 'POST',
cache: false,
url: './gen.php',
data: JSON.stringify(inps),
contentType: 'application/json',
});
触发gen.php。创建PDF文件。但是,文件不发送到浏览器。
如果我把它添加到ajax部分…
success: function(response){
$("#result").html(response);
}
Document以字符串的形式接收文件。我尝试了mPDF的所有选项。输出函数。没有结果。
我想了一个工作,但我不知道如何实现它。
Ajax在发送数据时需要打开一个弹出窗口。所以文件下载操作将在另一个标签下完成。或者。我可以尝试打开gen.php的一个不可见的iframe,并在I帧创建后发送数据…
任何建议都会有帮助。
不久ajax如何调用php文件(下载文件)。
我想这篇文章标题中问的问题在这里得到了回答:用jQuery下载一个文件。Ajax
但是可能有一个更简单的方法来实现你的目标,据我所知。如果你需要发送信息到gen.php
脚本,你担心发送的数据大小准备PDF和HTTP GET如何处理,使用FORM POST代替:
<form action="gen.php" method="post">
<input type="text" name="X">
<input type="text" name="Y">
<input type="text" name="Z">
<input type="submit" value="Download">
</form>
如果mPDF响应适当的标头(我期望如此),则主页面不会重新加载,而是将文件发送到浏览器进行下载。
相关文章:
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- 当通过AJAX调用时,控制器操作不会执行
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- HTML class=Ajax操作,如何让类点击调用好的操作
- 如何调试不起作用的AJAX操作
- 在执行某些 ajax 操作时,此匿名回调函数何时运行
- 当点击下拉列表中的按钮而不关闭它时,触发AJAX操作
- 等待ajax操作上的图像满载
- AJAX操作后绑定的事件处理程序不再工作
- 如何使jquery倒计时计时器连接到ajax操作
- 如何显示一个繁忙的指示器长非ajax操作
- jquery ajax操作后重置javascript页面刷新值
- Ajax -操作一个正确的数组以传递给PHP
- 如何查找多个.change()事件,这些事件指向正在被AJAX操作的项
- 如何通过分析功能跟踪Ajax操作
- Javascript异步和同步ajax操作
- 成功执行Ajax操作以打开另一个弹出窗口
- Ajax操作真的应该有单独的URL吗
- asp.net mvc-javascript或ajax操作链接
- 单击表会导致多个 ajax 操作使用 jQuery 运行