我的页面上有多个复选框,我想在我的数据库中获取这些复选框值。
$('#assign_data').on("click",function()
{
var mandate_array = [];
var i= 0;
$('.assign_mandate:checked').each(function(){
mandate_array[i++] = $(this).val();
});
$.ajax
({
type: "POST",
url: BASE_URL+"mandate/assign_mandate.php",
data: "mandate_array="+mandate_array+"&role_id="+$('#role').val()+"&user_id="+$('#user').val(),
success: function(msg)
{
console.log(msg)
}
})
});
assign_mandate.php:
<?php
$mandate = explode(',',$_POST['mandate_array']);
// print_r($mandate); //it shows the data in array
count($mandate);exit; // it does not show the count in console
?>
当我打印数组时,它会在控制台中向我显示数组数据,但是当我尝试回显数组的数量时,它显示为空白。为什么?
提前致谢
答案 0 :(得分:0)
在echo
count()
答案 1 :(得分:0)
您通常会使用JSON.stringify将数组转换为JSON字符串,然后向服务器发出AJAX请求,接收字符串参数并使用json_decode来获取PHP端的数组。
$('#assign_data').on("click",function()
{
var mandate_array = [];
var i= 0;
$('.assign_mandate:checked').each(function(){
mandate_array[i++] = $(this).val();
});
$.ajax
({
type: "POST",
url: BASE_URL+"mandate/assign_mandate.php",
data: "mandate_array="+JSON.stringify(mandate_array)+"&role_id="+$('#role').val()+"&user_id="+$('#user').val(),
success: function(msg)
{
console.log(msg)
}
})
});
答案 2 :(得分:0)
mandate_array
是Array
所以你不会在查询字符串中发布数组数据,你应该使用JSON.stringfy()
函数将array / JSON对象转换为字符串。
$.ajax
({
type: "POST",
url: BASE_URL+"mandate/assign_mandate.php",
data: "mandate_array="+JSON.stringfy(mandate_array)+"&role_id="+$('#role').val()+"&user_id="+$('#user').val(),
success: function(msg)
{
console.log(msg)
}
})
在PHP代码中
var_dump(json_decode($_POST['mandate_array']));
答案 3 :(得分:0)
您必须回显变量计数值。
<?php
$mandate = explode(',',$_POST['mandate_array']);
// print_r($mandate); //it shows the data in array
echo count($mandate);exit; // it does not show the count in console
?>