ajax中的数组大小始终为1

时间:2014-04-09 08:45:40

标签: php ajax

我有一个函数,它获取每个复选复选框的值,我能够通过使用一个警告示例成功获得值,这个结果是1,2,3这是正确的但是当我从php得到它时,数组大小是总是1。

HTML CODE:

function doit() {
    var p = [];
    $('input.cb').each(function () {
        if ($(this).is(':checked')) {
            p.push($(this).attr('rel'));
        }
    });
    $.ajax( {
          url:'page.php',
          type:'POST',
          data: {list:p},
          success: function(res) {
               alert(res);
          }
    });
    alert(p)
} 

PHP代码:

<?php
  $list = $_POST['list'];
  echo count($list);
?>

1 个答案:

答案 0 :(得分:1)

使用此代码:

var jsonData = JSON.stringify(p);

$.ajax( {
      url:'page.php',
      type:'POST',
      data: {list:jsonData},
      success: function(res) {
             alert(res);
      }
});

在PHP中:

$list = json_decode($_POST['list']);