在php中访问序列化表单数据

时间:2014-03-11 11:21:38

标签: javascript php jquery forms serialization

我正在尝试避免讨厌的页面重新加载并尝试在用户提交表单时动态重新加载div。但是,虽然数据确实成功传递并且序列化数据的输出是正确的,但我无法在php文件中访问这些数据。

这是我的代码:

<script>
      var submiting = false;
        function submitmyforum()
        {
            alert($('#filter_form').serialize());
            if ( submiting == false )
            {
                submiting  = true;
                $.ajax({
                    type:   'post',
                    url:    'index.php',
                    data:   $('#filter_form').serialize(),
                    success: function(data, status, jqXHR) { 
                        $('#clublist').html($(data).filter('#clublist').contents()); 
                        alert('submitted');
                        submiting  = false;
                    }           
                });
            }else
            {
                alert("Still working ..");
            }
        }
</script>
<?php
if(isset($_POST['location'])){
    echo "Location was set";
}
?>

现在,在我的html中,我有多个复选框选项,名称=“location []”。此外,该网站使用传统的页面重新加载技术正常工作,其中表单通过POST方法将值提交到同一页面。所以我确信在html前面没有任何问题。等待解决方案。非常感谢。

1 个答案:

答案 0 :(得分:1)

如果你想获得数据而不是你应该使用

serializeArray() instead of serialize()

因为serializeArray()创建的数组不是json数组。我建议您在代码中更改它,并尝试以$_POST

的形式访问数据