jQuery + Ajax表单提交,PHP没有获取任何数据

时间:2011-06-28 05:25:49

标签: php javascript jquery ajax

我正在尝试提交一个只有name=radiob的radiobutton组的表单。这是我用于提交数据的脚本:

<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,也就是说,该值取决于所选的单选按钮..

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

我已经测试了你的代码,它运行正常。也许你在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); ?>