jQuery+Ajax表单提交,PHP没有'没有得到任何数据

jQuery + Ajax form submission, PHP doesn't get any data

本文关键字:数据 任何 表单提交 PHP 没有 jQuery+Ajax      更新时间:2023-09-26

我正试图提交一个只有name=radiob单选按钮组的表单。这是我用于提交数据的脚本:

<script type="text/javascript">
    $(function() {
        $("#myForm").submit(function() {
            var dataString = $(this).serialize();
            $.ajax({
                type: "POST",
                url: "index.php?p1=<?php echo $_GET['p1']; ?>",
                data: dataString,
                success: function() {
                    $("#ppm").fadeOut("slow");
                    $("#ppmPlugin").load('?p1=<?php echo $_GET['p1'];?>&result=true');
                }
            });
            return false;
        });
    });
</script>

但这是我在PHP脚本中得到的:

$_POST阵列-空

Array ( )

$_GET阵列

Array ( [p1] => xxx [result] => true )

但如果我alert(dataString);,我得到radiob=2,即取决于所选单选按钮的值。。

如何解决此问题?

我已经测试了您的代码,它运行良好。也许您在index.php?p1=xxx中有某种重定向。

p.S.使用此代码进行测试:

<?php $_GET['p1'] = 1; ?>
<form id="myForm">
    <input type="radio" name="radiob" value="1" />
    <input type="radio" name="radiob" value="2" />
    <input type="submit" value="Submit" />
</form>
<script type="text/javascript">
    $(function() {
        $("#myForm").submit(function() {
            var dataString = $(this).serialize();
            $.ajax({
                type: "POST",
                url: "index.php?p1=<?php echo $_GET['p1']; ?>",
                data: dataString,
                success: function(data) {
                    alert(data);
                }
            });
            return false;
        });
    });  
</script>

在index.php中,我有

<?php var_dump($_GET, $_POST); ?>