【问题标题】:Unable to get the pdf on jquery ajax call无法在 jquery ajax 调用中获取 pdf
【发布时间】:2014-08-25 01:11:09
【问题描述】:

我正在使用FPDF 来生成pdf 文件。我可以通过超链接获取 pdf 文件。但无法点击按钮。

这是代码。

createReport.php

<?php
//$operation = $_POST['action'];
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
$pdf->Cell(40, 10, 'Hello World!');
$pdf->Output('t','D');
?>

index.html

<html>
<head>
    <meta charset="UTF-8">
    <title>Demo Report</title>
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
    <script>
        $(document).ready(function() {
            $('#showreport').click(function() {
                $.post("createReport.php", {suggest: "txt"}, function(result) {
                    alert("got it");
                });
            });
        });
    </script>
</head>
<body>
    <input type="button" id="showreport" value="Show Report"/>
    <a href="createReport.php">click me</a>
</body>
</html>

点击点击我链接后,我可以看到报告为 hello World。但是在按钮点击上什么都没有发生。我需要发送数据,例如 from 和 to date,我想从 db 生成报告。

请建议我哪里出错了。

感谢您的回复。

谢谢。

【问题讨论】:

  • 如果您需要传入 from 和 to date,您可以将这些变量放入您的 AJAX 请求中的数据对象中。我在您的代码中的任何地方都看不到该数据的字段,因此无法提供任何进一步的帮助..
  • 不,这是我的要求。但出于测试目的,我只是发送一些数据。如果我能成功发送“建议”参数。我可以继续。
  • 好的,首先,如果您收到报告,您应该使用 GET 而不是 POST。其次,您是否检查过控制台是否有错误,是否跟踪过 AJAX 请求,是否进行过任何形式的调试?我可以简单地假设您没有按预期收到警报,这将指向失败的请求,这可能是由于许多原因,包括错误的 URL、Javascript 语法错误、PHP 语法错误等等!
  • 我只使用了帖子。我收到了警报。

标签: php jquery ajax pdf


【解决方案1】:

直接替换

alert("got it");

下面的代码

var uri = 'data:application/pdf;charset=UTF-8,' + encodeURIComponent(data);                              window.open(uri, 'tiketi.pdf');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2015-02-13
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-10-08
    相关资源
    最近更新 更多