【问题标题】:AJAX return parameters from TCPDF script来自 TCPDF 脚本的 AJAX 返回参数
【发布时间】:2017-11-20 02:23:54
【问题描述】:

我编写了一个简单的脚本 php,使用 TCPDF 类来生成文件 pdf。 之后,在 jquery 中,它以 base64 格式返回文件,我以模式查看。

这是ajax代码..

$.ajax({
    url: path,
    type: 'post',
    data: { myjson: myjson },
    mimeType: 'text/plain; charset=x-user-defined',
    success : function(data) {
        // printPreviewBase64() is a function decodes 'data' and preview pdf in a modal
        printPreviewBase64( data );
    }
});

这是php文件..

<php
// code to generate pdf
$pdf->Output( $file_name, 'I' );

如何在 SUCCESS 中返回其他参数? 比如我要返回:pdf路径、日期、作者等。

谢谢!

【问题讨论】:

    标签: ajax tcpdf


    【解决方案1】:

    您必须在数组中包含 pdf 日期、路径、作者,然后对数组进行 json_encode,打印并退出。

    然后在 jquery 中的成功方法中使用 data.path,data.date,data.author

    希望能解决你的问题

    【讨论】:

    • 我只是试了一下,但问题是“mimeType: 'text/plain; charset=x-user-defined'”。所以,ajax 不返回 json 数据..
    • 你能发布应该返回json的服务器端代码吗?
    • Thx Alani,问题是如果在服务器端脚本的 json_encode() 中使用$pdf-&gt;Output( $file_name, 'I' ); 生成的代码,ajax 返回“parsererror”(200)。我已经使用$pdf_code = base64_encode( $pdf-&gt;Output( $file_name, 'S' ) ); 解决了这个问题。通过这种方式,我可以将变量返回为 base64!在我用js解码之后..就没事了! ;)
    【解决方案2】:

    我解决了!!

    首先。使用“dataType:'JSON'”更改 ajax 请求:

    $.ajax({
        url: path,
        type: 'post',
        data: { myjson: myjson },
        dataType: 'JSON',
        success: function( data ) {
            // data.pdf_code → verrà poi codificato in base64..
    
            console.log( data.pdf_path );
    
            //console.log( data.pdf_code );
            printPreviewBase64( data.pdf_code );
    
        },
        error: function (xhr, ajaxOptions, thrownError) {
            console.log(xhr.status);
            console.log(thrownError);
        }
    });
    

    在 php 代码中,我必须将 TCPDF 输出更改为..:

    $pdf_code = base64_encode( $pdf->Output( $file_name, 'S' ) );
    

    ..然后我返回数组 JSON 中的所有数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 1970-01-01
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多