我想点击一个按钮打开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文件。
答案 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');