gpt4 book ai didi

javascript - 通过Ajax进行文件下载操作

转载 作者:行者123 更新时间:2023-11-28 08:10:57 24 4
gpt4 key购买 nike

需要下载动态生成的文件(根据用户输入)...

我一直在使用 mPDF(用于创建 pdf 文件的 PHP 模块)。

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.OUTPUT 函数的所有选项。没有结果。

我想了一个解决办法,但我不知道如何实现它。

Ajax 需要在发送数据时打开一个弹出窗口。因此文件下载操作将在另一个标签下完成。

或者也许。我可以尝试打开 gen.php 的不可见 iframe 并在 i 框架创建后发送数据...

任何建议都会有所帮助。

很快

ajax如何调用php文件(下载文件)。发送必要的数据后。

最佳答案

我认为本文标题中提出的问题在这里得到了解答:Download a file by 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 使用适当的 header 进行响应(我希望如此),则主页不会重新加载,但文件会发送到浏览器进行下载。

关于javascript - 通过Ajax进行文件下载操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24222874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com