我正在使用AJAX来调用PHP脚本,并传递一些参数。
PHP脚本正在使用FPDF创建PDF。我传递给PHP脚本的值只应用于连接脚本中的另一个字符串。
AJAX正在调用PHP脚本并且PDF正在生成它应该生成,但唯一的问题是参数变为空。我不确定我做错了什么,这让我发疯了......
这是我的HTML:
<input type="submit" value="Download Completed DA190" onclick="printCompletedForm()" />
<script type="text/javascript">
function printCompletedForm()
{
var testDate = "2012-08-19";
$.ajax({
type: "POST",
url: "saveZeroRelease.php",
data: {testdate : testDate},
success: function(msg){
},
error: function(msg){
}
});
}
</script>
这是我的PHP:
$testDate = $_POST['testdate'];
$pdf = new PDF_MC_Table();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','',8);
$pdf->Cell(150,10,'Certificate of foreign Currency usage in respect of materials and components in terms of the notes to rebate item ',1);
$pdf->SetFont('Arial','',10);
$pdf->Cell(40,10,'Form C1',1);
$pdf->Ln(10);
$pdf->Cell(190,10,'NOTE:',1);
$pdf->Ln(10);
$pdf->MultiCell(190,10,'Certificate Number: Effective Date :'.$testDate.'
Replaces Certificate No:_________________ Effective Date :________________',1);
$pdf->Output();
我不知道我做错了什么。请大家帮忙!
答案 0 :(得分:0)
首先,在您的JavaScript中,将代码包装在内;
$(document).ready( function() {
//your code here
});
不要忘记链接你的jQuery文件,如;
<script type="text/javascript" src="jquery.js"></script>
另外,在你的php中,改变;
$testDate = $_POST['testdate'];
到
$testDate = $_POST["testdate"];
希望这有帮助。
答案 1 :(得分:0)
看起来提交表单的默认行为是在您的AJAX调用有时间执行您要求的所有操作之前触发并执行的。查看event.preventDefault()
以完全覆盖提交处理程序。提交表单后,您的函数将处理从$ .ajax POST开始,然后根据需要重定向用户的所有内容。