簡體   English   中英

Ajax未定義ID PHP帖子

[英]Ajax undefined id PHP post

所以,我有兩個文件index.php和edit.php

主要是我想從index.php發送和獲取id變量,並在edit.php中打印echo以學習ajax,但是我已經嘗試了互聯網上的每個教程,但我都遵循了它們,很遺憾,我無法弄清楚為什么會出現此錯誤,順便說一下,這是代碼:

的index.php

<?php  
 include ('connection.php');  
 $query ="SELECT * FROM buku ORDER BY id ASC";  
 $result = mysqli_query($con, $query);  
 ?> 
<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <title></title>
</head>
<body>
        <table>  
            <thead>  
             <tr>  
                <td>Id</td>
                <td>No Buku</td>  
                <td>Nama Buku</td>   
                <td>Tahun Terbit</td> 
                <td>Action</td>                                
            </tr>  
            </thead>                    
            <?php  
            while($row = mysqli_fetch_array($result))  
            { ?>  
                <tr>  
                    <td><?php echo $row['id'] ?></td> 
                    <td><?php echo $row['nobuku'] ?></td> 
                    <td><?php echo $row['namabuku'] ?></td> 
                    <td><?php echo $row['tahunterbit'] ?></td>  
                    <td><button type="buton" class="edit" id="<?php echo $row['id'] ?>">Edit</button>
                    </td>  
                </tr>
            <?php
            };
            ?>    
        </table> 

       <div class="tampil"></div>

        <script type="text/javascript">
        $(document).on('click', '.edit', function(){
           var id = $(this).attr("id");
            $.ajax({
             type:"post",
             url:"edit.php",    
             data:{id:id},
             success:function(data){
               $('.tampil').load("edit.php");
             }
            });
          });
        </script>

</body>
</html>
</body>
</html>

這是edit.php

<?php  
 include ('connection.php');  
 $id = $_POST['id'];
 echo $id;
?> 

問題是,當我單擊按鈕id = edit時,在index.php中始終發送未定義的id,這意味着id變量未正確發送,但是當我將ajax部分編輯為alert(id)時,它打印了id變量,所以問題是我不知道為什么它無法將id變量發送到edit.php頁面。

謝謝你的幫助

問題是您首先要用ajax加載edit.php並將其ID發送給它。 但是,然后,在加載了ajax請求之后,再次加載了edit.php,這次沒有ID。

您已經在ajax請求中獲得了響應,只需使用它即可。

<script type="text/javascript">
    $(document).on('click', '.edit', function(){
       var id = $(this).attr("id");
        $.ajax({
            type:"post",
            url:"edit.php",    
            data:{id:id},
            success:function(data){
                $('.tampil').html(data);
            }
        });
    });
</script>

將edit.php更改為此

<?php  
    include ('connection.php');  
     if (isset($_POST['id'])){
       echo $_POST['id'];
   }
    ?> 

<Script type="text/javascript">
        $(document).on('click', '.edit', function(){
           var id = $(this).attr("id");
            $.ajax({
             type:"post",
             url:"edit.php",    
             data:{id:id},
             success:function(data){
               $('.tampil').html(data);
             }
            });
          });
        </script>

暫無
暫無

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

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