我正在使用FPDF创建报告。
$pdf = new Report('P','mm','A4', $_POST);
$pdf->AddPage();
$pdf->Output('file.pdf','I');
然后我使用ajax来订购PHP。
$.ajax({
type: 'POST',
url: '../reports/report.php',
data: { id: id }
}).done(function(data){
window.open(data);
})
我想在新标签中显示报告
答案 0 :(得分:0)
我认为您应该成功的关键。所以会是这样
$.ajax({
type: 'POST',
url: '../reports/report.php',
data: { id: id },
success: function(data){
var blob = new Blob([data]);
window.open(URL.createObjectURL(blob));
}
})
答案 1 :(得分:0)
已解决:
我采用了不同的方式:
在我的报告PHP中,我生成了一个temporay文件,并传递了参数'F'。
$pdf->Output('file.pdf','F');
在Jquery Ajax中,我选择文件,而不是打开由ajax请求改写的数据。
$.ajax({
type: 'POST',
url: '../reports/report.php',
data: { id: id }
}).done(function(data){
var fileName = "file.pdf";
$('#modalRel').modal('show');
var object = "<object data=\"{FileName}\" type=\"application/pdf\" width=\"500px\" height=\"300px\">";
object += "If you are unable to view file, you can download from <a href = \"{FileName}\">here</a>";
object += " or download <a target = \"_blank\" href = \"http://get.adobe.com/reader/\">Adobe PDF Reader</a> to view the file.";
object += "</object>";
object = object.replace(/{FileName}/g, "../Files/" + fileName);
$("#body-rel").html(object);
})
我希望能帮助有一天需要帮助的人。