0

私はajaxの複数の削除で問題を抱えています。変数で選択したチェックボックスの値を正常に設定しました。私が解決しなければならない問題は、送信された配列の値をphpで取得する方法です。これがajax郵便番号です

<script>
    $("#delete-btn").click(function(e){
        e.preventDefault();
        var id = new Array();
        $(".check:checked").each(function() {
            id.push($(this).attr('value'));

        }); 
        $.post("../ajax/multiDelete.php",{id:id},function(data){
            alert(data);    
        });
    });
</script>

さて、phpページ

<?php

if(isset($_POST['id'])){
        $id = array($_POST['id']);

        foreach($id as $value){
                echo $value;    
        }
    }

?>

データが警告されると、「配列」のみが取得されます。私はJSONについて知らないので、それなしでできることがあれば、あなたの助けに感謝します! ありがとう

4

5 に答える 5

0

チェックした値にアクセスする必要があります-

<?php

if(isset($_POST['id'])){
        $id = array($_POST['id']);

        foreach($id as $value){
               foreach($value as $value1){
                echo $value1;    
        }
        }
    }

?>

これは配列内の配列であるためです。

于 2013-10-25T12:38:38.047 に答える
0

AJAX で配列変数を渡さないでください。を使用して id 配列を JSON に変換しますJSON.stringify(id)

PHP バックエンドでは、使用

<?php $val = json_decode($_REQUEST['id']); 
       foreach($val as $ids){
           echo $ids;
        }

$val 配列を使用して、php でさらに処理を進めます。

于 2013-10-25T11:37:30.897 に答える
0

idこれはあなたの質問とは関係ありませんが、jQuery メソッドを使用して、新しい配列変数を作成して項目を配列にプッシュすることなく、値を取得するより良い方法を示したかっただけです.map():-

$("#delete-btn").click(function (e) {
    e.preventDefault();

    // Get all the values in the array 'id' variable
    var id = $(".check:checked").map(function () {
        return this.value || 0;
    }).get();

    $.post("../ajax/multiDelete.php", { id: id }, function (data) {
        alert(data);
    });
});

お役に立てれば!

于 2013-10-25T11:37:47.683 に答える