【发布时间】:2012-03-01 07:17:46
【问题描述】:
我有以下 jQuery,它向一个名为 html2fpdfconverter.php 的 php 文件发出请求:
$("#exportentry").click(function(e){
e.preventDefault();
if(submitted){
//export
var data = $("#container").html();
var filename = "Entry Report.pdf";
var dateString = $("#datepicker").datepicker().val();
$.ajax({
type:"POST",
url: "html2pdfconverter.php",
data: {data:data, filename:filename, date:dateString},
dataType: "json",
success: function(data) {
//get min max dates assigned
alert('success');
}
})
}else{
alert("No Report To Export");
}
});
html2fpdpf.php
<?php
require('html2fpdf.php');
if(isset($_POST['data'])){
$urlcontents = $_POST['data'];
$filename = $_POST['filename'];
$date = $_POST['date'];
convert($urlcontents, $filename, $date);
}
function convert($contents, $name, $currdate){
$pdf=new HTML2FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10, "Entry Report");
$pdf->SetFont('Arial', '', 12);
$pdf->Cell(90,12,'- '. $currdate);
$contents = strip_tags($contents, '<html><body><meta><img><h2><h4><br><div><ul><li><span>');
$pdf->SetY(20);
$pdf->WriteHTML($contents );
$content = $pdf->Output('', true);
$file = fopen($filename, "w");
fwrite($file, $content);
fclose($file);
}
?>
使用 firebug 我可以看到数据已正确发布到 php 文件中。然而,什么都没有发生……尽管萤火虫说 php 请求正常,但没有创建 pdf 并且没有显示下载对话框。
我在 firebug 中得到以下响应:
%PDF-1.3 3 0 对象 结束对象 4 0 对象 流
x�͘�r�0��}��b�"BK��qI�e��EX�X��.��Ax_�s��3.b`�I-��s� ���óJd�NN����0����I��l5ā�n������DH����L28��.൹����O8^m����E�� 28IĒ1�NQ=bz��w(�Gl�Ѯ��Z�$BA,8��r���暴�i��=9�-HJ¨��l��8Ve�o&�];xw �y����_��\Ey�8!��T�e����������������:�F���UE�X8/3�}�̨�>�~5T �$
������0��>?�Q:!qH������D��XEC��
���Ԥ�����͇���hI�cA��l�����ηy�/�՟���rP.���V� T/�u��|���9����U9t�'|IJ��.�c�28+�<ÃX�����U�|�;k�AI�"�[�ȑ��"�6���vYs�����b�)�H퓀�Ph�,���P:T��x�1,,��Ey�b"Mh(���ti��.C4D�(���5�Eա,ۃ��^���*4QܧAݑ,!*ص�/�Ml �/�z\;$C����x�dPId��ƃ]4�0pYYS��� �B
还有一大堆负载……我不知道为什么这不起作用……
【问题讨论】:
标签: php javascript jquery html ajax