将序列化表单POST发送到php

时间:2015-06-06 17:34:14

标签: php jquery arrays

我的问题是我通过jquery发送html表单数据这里是代码:

 $('#search_button').click(function(event) {                                    
    var track_load = 0; //total loaded record group(s)
    var loading  = false; //to prevents multipal ajax loads
    var total_groups = <?php echo $total_groups; ?>; //total record group(s)

    var Data = $("#srch_form").serializeArray();
    console.log(Data);

    $('#results').load("autoload_process.php", {
        data:Data, 
      'group_no':track_load},
 function() {track_load++;}); //load first group
});

并且在php接收页面中我得到一个数组,其中每个名称和值对都有一个数组,如下所示:

array (size=4)
  0 => 
    array (size=2)
      'name' => string 'srch_word' (length=9)
      'value' => string '' (length=0)
  1 => 
    array (size=2)
      'name' => string 'srch_cat-2' (length=10)
      'value' => string '2' (length=1)
  2 => 
    array (size=2)
      'name' => string 'srch_cat-5' (length=10)
      'value' => string '5' (length=1)
  3 => 
    array (size=2)
      'name' => string 'srch_cat-6' (length=10)
      'value' => string '6' (length=1)

但是在使用html之前只有一个帖子我得到了一个内部对的数组:

array (size=4)
  'srch_word' => string '' (length=0)
  'srch_cat-2' => string '2' (length=1)
  'srch_cat-5' => string '5' (length=1)
  'srch_cat-6' => string '6' (length=1)

我用来访问像关联数组那样的值($_POST['srch_word'],甚至只用$srch_word would work ),现在我不能这样做。

¿我如何从jquery帖子中获取一个数组,或者如何将这个数组数组减少到php文件中的一个数组,或者在这种情况下该怎么做? 我很感激你的帮助。

1 个答案:

答案 0 :(得分:0)

这个样本可能对你有用,因为长数目的子数组总是两个

&#13;
&#13;
<?php
$keys = array();
$value = array();
$serialize = array(array('name' => 'srch_word', 'value' => ''), array('name' => 'srch_cat-2', 'value' => '2'));
foreach ($serialize as $key) {
  array_push($keys, $key['name']);
  array_push($value, $key['value']);
}
$final = array_combine($keys, $value);
echo '<pre>',print_r($final),'</pre>';
?>
&#13;
&#13;
&#13;

替换$ serialize作为您的数组定义
如果你喜欢,请投票