簡體   English   中英

無法通過Ajax向后發送數組到php

[英]Can't send array to php via ajax and back

我試圖在我的頁面上獲取一個按鈕,該按鈕最終將成為刪除按鈕以起作用。 但是,因為這是一個<li>元素,而不是您的帶有表單等的平均提交按鈕...我不得不使用ajax發送所有要處理的變量,此刻我只希望它們處於它們處於某種狀態的狀態可以處理,但是此刻我的腳本似乎未返回我想要的任何值並輸出它們。

希望從下面的代碼中您會明白我的意思,目前我需要做的就是從選中的復選框中選擇所有值,然后將其發送到mail_trash.php,然后將其發送回並輸出數組,這樣我就可以看到它正在選擇正確的值等。實際的刪除php代碼已經編寫並可以正常工作,這只是檢查Ajax。

這是javascript和ajax

    <script>
        $("document").ready(function (){ 

           $("li.trash").click(function(e){  
                 var db = $(':checkbox:checked').map(function(i,n) {
                    return $(n).val();
                 }).get(); //get converts it to an array

             if(db.length == 0) { 
             db = "none"; 
           }        

    $.ajax({
            type: "GET",
            url: "mail_trash.php",
            data: {'db[]':db  },
            dataType: "json",
            statusCode: {
                200: function (response) {
                                                                                           $("#mail_header_name").html(response.mess_id);

                                         }

            }
        });
    });

});


</script> 

這是mail_trash.php的腳本

  <?php

    include 'connect_to_mysql.php';

    $mess_id = $_GET["db"];
    echo json_encode($mess_id);


?>

只是檢查一下

  • 紐扣

     <li><a class="trash" href="">&nbsp;</a></li> 

    非常感謝您的幫助,最近兩個小時來一直困擾着我。

  • 這不是垃圾。 這是垃圾,因為垃圾是a元素的類。 因此,js的前三行應為:

       <script>
        $("document").ready(function (){ 
    
           $("a.trash").click(function(e){  
    

    然后對其余的代碼進行此類操作。 我沒有必要檢查其余的代碼,盡管我對$(':checkbox:checked')不太滿意,因為我認為這不是正確的jquery。...首先,我建議修復我提到的第一個選擇器,使用jquery docs檢查第二個選擇器,然后jshinting / jslinting您的代碼。 (僅適用於Javascript)

    我不知道問題本身還是腳本問題,但傳遞時參數的名稱是“ db”,但在服務器端您期望的是“ mess_id”

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM