Ajaxでチェックボックスを使用しようとしています。Ajaxがなければ、私はそれを処理しました。これが私のJqueryコードです
$("#skillcat").click(function(e) {
var submit_val = new Array();
e.preventDefault();
var ids = $('check_subjects input:checked')
.map(function(){
return this.value;
}).get();
$.ajax( {
type : "POST",
dataType : "json",
url : "./wp-admin/admin-ajax.php",
data : {
action : 'each_category',
check_subjects : ids
},
success : function(data) {
alert(data);
$('#accordion').html(data);
}
});
});
サーバーサイドでボタンとチェックボックスが生成される私のphpコードは次のとおりです
foreach($subjects as $key=> $data){
echo '<input type="checkbox" id="'. $data->id .'" value="'. $data->id .'" name="check_subjects[]"> '. $data->subject .'<br>';
}
Post配列からデータをキャッチするために使用したサーバーサイド
if(isset($_POST['check_subjects'])){
//var_dump(check_subjects);
$check_subjects = implode(',', $_POST['check_subjects']);
//echo '$check_subjects '. $check_subjects;
}
ただし、上記のコードを実行すると、一部のデータがサーバーに送信されていることに気付きます (chrome 開発者ツールを介して)。しかし、アラートボックスにnullが表示されます。データがサーバーに正しく送信されていないため、応答は null だと思います。リクエストを Ajax に渡すために使用する javasript コードについてはよくわかりません。
私がどこで間違いを犯したのか誰か説明できますか?