加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – TCPDF – AJAX – 下载文件而不将其从AJAX调用保存到webs

发布时间:2020-12-13 22:25:34 所属栏目:PHP教程 来源:网络整理
导读:我有一个对create_pdf.php页面的 AJAX调用: $('body').on('click','.PrintButtonWithClass',function (event) { var1 = $('#id1').val(); var2 = $('#id2').val(); dataString='var1='+var1+'var2='+var2+'pdf_name=PdfNamepdf_creator=myname'; $.ajax({ t
我有一个对create_pdf.php页面的 AJAX调用:

$('body').on('click','.PrintButtonWithClass',function (event) {
    var1 = $('#id1').val();
    var2 = $('#id2').val();
    dataString='var1='+var1+'&var2='+var2+'&pdf_name=PdfName&pdf_creator=myname';

    $.ajax({ 
        type: 'post',url: '/path/to/createpdf/file/create_pdf.php',data: dataString,success: function (data) {
            alert('success');
        }
    });
});

在create_pdf.php中,我尝试使用此行下载文件:

$pdf->Output(str_replace(' ','_',utf8_decode($_POST['pdf_name'])).'.pdf','D');

我也尝试了FD和I参数没有成功,文件没有下载.

如何强制下载创建的文件而不将其保存到Web服务器并且不将用户重定向到任何其他页面?我希望他留在同一页面上,浏览器弹出PDF的下载或预览对话框.有什么办法吗?

编辑:create_pdf.php正在等待POST变量.并使用它们为pdf创建HMTL.

解决方法

您可以尝试将表单提交到新窗口(如弹出窗口):

<form method="post" id="myform" action="your_url">
    <input name="param1">
</form>

并在JavaScript中

// create popup window
var wind = window.open('about:blank','__foo','width=700,height=500,status=yes,resizable=yes,scrollbars=yes');

// submit form to popup window
$("#myform").attr("target","__foo");

不要忘记从php发送内容类型标题:

header("Content-Type","application/pdf");

编辑:浏览器应显示您的pdf内容,并显示下载或打印选项.代码未经过测试,但我认为它会按照您的要求进行测试;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读