在PHP中提取JQuery POST参数

在PHP中提取JQuery POST参数,php,javascript,jquery,checkbox,Php,Javascript,Jquery,Checkbox,我试图使用JQuery将一组复选框传递给PHP。我使用的代码来自我应该在这个问题下发布这个吗 在日历中,每个月的每一天都有一个复选框。值是一个月中的整数天 <td><input name="check[]" value="4" type="checkbox">4</td> <td><input checked="yes" name="check[]" value="7" type="checkbox">7</td> Fir

我试图使用JQuery将一组复选框传递给PHP。我使用的代码来自我应该在这个问题下发布这个吗

在日历中,每个月的每一天都有一个复选框。值是一个月中的整数天

<td><input name="check[]" value="4" type="checkbox">4</td>
<td><input checked="yes" name="check[]" value="7" type="checkbox">7</td>
Firebug显示post参数中有一个复选框列表。我检查生成这个示例的两天是代码中可以识别的7和21

check   check%5B%5D=7&check%5B%5D=21
Source
check=check%255B%255D%3D7%26check%255B%255D%3D21
我的问题是无法在PHP中提取这些值

parse_str($_POST['check'], $checkboxes); 
返回空字符串,如在POST数组上循环:

foreach($_POST as $key=>$val){
    $test .= $key . "; " . $value . "; ";
}

尝试在$\u POST['check']上循环会生成一个错误,我认为这意味着$\u POST['check']为空

全文载於

在发布之前,我还尝试将复选框打包到数据结构“复选框”中:

        var checkboxes = new Array();
        $("input[name='check[]']:checked").each(function(){checkboxes.push($(this).val());});

但是Firebug报告POST参数如下:

undefined   undefined
undefined   undefined
Source
undefined=undefined&undefined=undefined
如有任何建议,我将不胜感激。 哈利

试着看看这个:

试着看看这个:

不确定为什么要使用$('#calendarId')。加载(…),但您是否尝试过这样做

$.ajax({
    type: 'POST',
    url: 'calendar.php',
    data: $('#checkboxes').serialize(),
    success: function(response) {
        // handle the response here
    }
});

不确定为什么要使用$('#calendarId').load(…),但您是否尝试过这样做

$.ajax({
    type: 'POST',
    url: 'calendar.php',
    data: $('#checkboxes').serialize(),
    success: function(response) {
        // handle the response here
    }
});

“尝试在$\u POST['check']上循环会生成一个错误,我认为这意味着$\u POST['check']为空。”;在你的PHP中,看看你实际得到了什么?“尝试循环$u POST['check']会生成一个错误,我认为这意味着$u POST['check']是空的。”;在你的PHP中,看看你实际得到了什么?感谢Tom找到了答案。数据可以作为二维数组从$checkbox中提取:parse_str($_POST['check',$checkbox)$firstElement=$checkbox['check'][0];我还尝试使用与GET相同的方法从jquery收集帖子的返回值。正确的jQuery命令是:$(“#calendarId”).load($.post(“calendar.php”),{check:$(“form#checkbox”).serialize()},函数(data){$(“#calendarId”).html(data);});它用返回值的内容替换calendarId中的所有内容;多亏汤姆找到了答案。数据可以作为二维数组从$checkbox中提取:parse_str($_POST['check',$checkbox)$firstElement=$checkbox['check'][0];我还尝试使用与GET相同的方法从jquery收集帖子的返回值。正确的jQuery命令是:$(“#calendarId”).load($.post(“calendar.php”),{check:$(“form#checkbox”).serialize()},函数(data){$(“#calendarId”).html(data);});它用返回值的内容替换calendarId中的所有内容;
undefined   undefined
undefined   undefined
Source
undefined=undefined&undefined=undefined
$.ajax({
    type: 'POST',
    url: 'calendar.php',
    data: $('#checkboxes').serialize(),
    success: function(response) {
        // handle the response here
    }
});