我只是想在另一个选项卡中打开一个.pdf。
我首先使用jQuery发布几个变量:
$('#resultsTable').on('click', 'tr > td > .view-pdf', function()
{
var $dataTable = $('#resultsTable').DataTable();
var tr = $(this).closest('tr');
var rowBookingNum = $dataTable.row(tr).data().JOB_REFERENCE;
var rowPartnerNum = $dataTable.row(tr).data().SHIPPER_CODE;
$.redirect('process/viewpdf.php', {'bookingnum':rowBookingNum, 'partnernum':rowPartnerNum });
});PHP脚本如下所示:
<?php
if(isset($_POST["bookingnum"]))
{
$bookingnum = $_POST["bookingnum"];
$partnernum = $_POST["partnernum"];
$dir = "D:/CargoDocsPDFs/" . $partnernum;
$file = $dir . "/" . $bookingnum . '.pdf';
if (file_exists($file))
{
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
}
?>使用上述所有内容,我可以让.pdf在同一个窗口中打开。这导致用户必须单击“后退”按钮才能返回到前一个屏幕。
我需要.pdf打开一个新的选项卡。我如何调整我的代码以实现这一点?
发布于 2018-07-05 17:01:43
您需要在$.redirect(url, [values, [method, [target, [traditional, [redirectTop]]]]])中指定一个目标
参见用法:http://github.com/mgalante/jquery.redirect
预期用途:
$.redirect('process/viewpdf.php', {'bookingnum':rowBookingNum, 'partnernum':rowPartnerNum }, 'POST', '_blank');https://stackoverflow.com/questions/51196493
复制相似问题