1

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[]">&nbsp;&nbsp;  '. $data->subject .'<br>';
}

Post配列からデータをキャッチするために使用したサーバーサイド

if(isset($_POST['check_subjects'])){
    //var_dump(check_subjects);
    $check_subjects  = implode(',', $_POST['check_subjects']);
    //echo '$check_subjects&nbsp;&nbsp;&nbsp;&nbsp;'. $check_subjects;
}

ただし、上記のコードを実行すると、一部のデータがサーバーに送信されていることに気付きます (chrome 開発者ツールを介して)。しかし、アラートボックスにnullが表示されます。データがサーバーに正しく送信されていないため、応答は null だと思います。リクエストを Ajax に渡すために使用する javasript コードについてはよくわかりません。

私がどこで間違いを犯したのか誰か説明できますか?

4

2 に答える 2