我制作了两个数组,每个数组都包含所有需要的ID:
$('.valider').click(function(){
var confirmList = [];
var refuserList = [];
var id;
/* CREATE refuserList ARRAY */
$('input[type=checkbox][class=refuser]:checked').each(function () {
id = $(this).parent().parent().children('td:first-child').text();
refuserList.push(id);
});
/* CREATE confirmList ARRAY */
$('input[type=checkbox][class=confirm]:checked').each(function () {
id = $(this).parent().parent().children('td:first-child').text();
confirmList.push(id);
});
alert(confirmList);
alert(refuserList);
/* check if one of them has at least one element */
if( confirmList.length > 0 || refuserList.length > 0){
/* send info to php */
$.post( "confirm_points.php", { 'confirmList[]' : confirmList , "refuserList[]" : refuserList } )
.done(function(data){
alert(data);
$('.test').html(data);
});
}
});
我尝试将confirmList和refuserList发送给PHP,这似乎可行,但一旦我在PHP中:
$accepter =json_decode($_POST['confirmList']);
$refuser = json_decode($_POST['refuserList']);
var_dump($accepter);
var_dump($refuser);
echo $accepter;
echo $refuser;
它返回此错误:
警告:json_decode()期望参数1为字符串,数组在第5行的C:\ wamp \ www \ JAUGE \ confirm_points.php中给出
我必须使用什么才能在PHP中访问数组?
编辑
第一条评论解决了这个问题。 一开始我没有把[]放在AJAX请求中:
$.post( "confirm_points.php", { 'confirmList[]' : confirmList , "refuserList[]" : refuserList } )
.done(function(data){
所以我尝试了json_parse,json_decode,但它似乎永远不会起作用。当我终于把[]我还在尝试所有json_decode的东西时,但它没有它完美的工作,所以最终PHP只是:
if(isset($_POST['confirmList'])){
$accepter =$_POST['confirmList'];
}
if(isset($_POST['refuserList'])){
$refuser = $_POST['refuserList'];
}
var_dump($_POST['confirmList']);
echo $accepter[0];
答案 0 :(得分:1)
$_POST['confirmList']
它的数组本身。不需要json_decode()这个。