参数使用AJAX的PHP POST不起作用

PHP POST with parameters using AJAX not working

本文关键字:PHP POST 不起作用 AJAX 参数      更新时间:2023-09-26

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

我不知道我做错了什么。请大家帮忙!

首先,在JavaScript中,将代码封装在里面;

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

别忘了链接你的jQuery文件,就像;

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

此外,在您的php中,更改;

$testDate = $_POST['testdate'];

$testDate = $_POST["testdate"];

希望这能有所帮助。

提交表单的默认行为似乎是在AJAX调用有时间执行您要求它执行的所有操作之前触发并执行的。查看event.preventDefault()以完全覆盖提交处理程序。提交表单后,您的函数将处理从生成$.ajaxPOST到根据需要重定向用户的所有操作。