使用AJAX打开一个按钮打开PDF文件

时间:2016-07-08 18:50:24

标签: javascript php jquery ajax pdf

EDITED: HERE IS WHAT IT IS RETURNING AT ALERT(DATA)我想点击一个按钮打开PDF文件。我尝试使用AJAX执行此操作,但它不会打开PDF文件。 我点击View PDF按钮后,我一直收到此警报。

以下是我的AJAX代码:

function viewPDF(id){    
          $.ajax({  url: "viewCrf.php",
            data: {'idd' : id},
            type: "POST",
            success: function (data) {
            }
        });
}

点击此按钮后,将触发上面的AJAX代码:

<td><input id='$idd' 
type='button' 
value='View PDF'class='btn btn-primary' onclick='viewPDF(this.id)'
target='_blank' ></td>

viewCrf.php包含用于生成PDF的代码。使用POST方法获取AJAX传递的值,然后从数据库中获取数据

$id = $_POST['idd'];
$q  =  $db->query("SELECT * FROM crf where col_ID = ".$id);
    while($r = $q->fetch(PDO::FETCH_ASSOC)){ 
        $last               = $r['col_ln'];
        $first              = $r['col_fn'];
        $middle             = $r['col_mi'];
        $civilstatus        = $r['col_civilstat'];
        $sex                = $r['col_gender'];
        $dob                = $r['col_bday'];             
    }

我的问题是,PDF文件根本没有打开。虽然当我添加alert(data)时,AJAX的成功部分似乎会发出警告。

该代码应该在点击按钮时打开PDF文件。

3 个答案:

答案 0 :(得分:1)

由于使用FPDF,你当然有一些PHP code looking like this

如果您没有为output()指定任何纪录,则会生成内联HTML。
Reference about the output method here

所以,这应该有效:

<td>
    <input id='$idd' type='button' value='View PDF'class='btn btn-primary' onclick='viewPDF(this.id)' target='_blank' >
</td>
<div id="pdfResult"></div>

<script>
function viewPDF(id){  
    $.ajax({  url: "viewCrf.php",
        data: {'idd' : id},
        type: "POST",
        success: function (data) {
            $("#pdfResult").html(data);
        }
    });
}
</script>

答案 1 :(得分:0)

我改为将button更改为href并使用GET METHOD。

<td>".$result['col_ID']."</td>
<td>".$result['col_fn']." ".$result['col_ln']."</td>
<td><a href='viewCrf.php?idd=".$idd."' type='button' 
value='View PDF'class='btn btn-primary'
target='_blank' >
</td>

答案 2 :(得分:0)

In your viewCrf.php file, you must edit headers for say that's a PDf file ( and not show the pdf code.)

<?php header('Content-Type: application/pdf');