在PHP中提取JQuery POST参数
我试图使用JQuery将一组复选框传递给PHP。我使用的代码来自我应该在这个问题下发布这个吗 在日历中,每个月的每一天都有一个复选框。值是一个月中的整数天在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
<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
}
});