0

我正在使用 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();

我不知道我做错了什么。任何帮助请大家!

4

2 回答 2

0

首先,在您的 JavaScript 中,将您的代码包装在里面;

$(document).ready( function() {
//your code here
});

并且不要忘记链接您的 jQuery 文件,例如;

<script type="text/javascript" src="jquery.js"></script>

另外,在你的 php 中,改变;

$testDate = $_POST['testdate'];

$testDate = $_POST["testdate"];

希望这可以帮助。

于 2012-08-19T15:51:30.723 回答
0

看起来提交表单的默认行为是在您的 AJAX 调用有时间完成您要求的所有操作之前触发和执行的。研究event.preventDefault()完全覆盖提交处理程序。提交表单后,您的函数将处理从制作 $.ajax POST 到必要时重定向用户的所有事情。

于 2012-08-19T15:59:05.990 回答