php 如何在不刷新整个页面的情况下删除数据?

How to delete data without refreshing whole page in php?

正在删除数据,但整个页面已重新加载。如果不重新加载页面,则必须删除数据。代码如下,

admin.js

userdeletecnfrm();
 function userdeletecnfrm(){
     $('.userdeletecnfrm').unbind("click");
     $(".userdeletecnfrm").click(function(){

            var uid=$(this).attr('data-id');
            $.ajax({
                type: "POST",
                data: "userId=" + uid,
                url: urljs+"admin/Users/deleteconfrmview",
                dataType:'json',
            }).done(function( data ) {

                $("#deluser").html(data.view);
                deleteuser();
            });
     });
 }

 deleteuser();
 function deleteuser(){
        $('.deleteuser').unbind("click");
        $('.deleteuser').on("click",function(e){


          var id=$(this).attr('data-id');
          var parent = $(this).closest('tr');
          $.ajax({
                type: "POST",
                data: "userId=" + id,
                url: urljs+"admin/Users/deleteuser",
                dataType:'json',
            }).done(function( data ) {

                    $("#deluser").hide();
                    $(parent).remove();


            });
          e.preventDefault();
        });  
    } 

以上代码正在通过重新加载页面来删除数据。

userview.php

<!-- USER VIEW -->
<section id="categories-content" class="categories-content">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="content table-responsive">
                    <center><div id="comment"></div></center>
                    <button class="btn btn-primary" data-toggle="modal" data-target="#newuser" >Add User</button>
                    <div class="addhere"></div>
                    <table class="table responsive">
                        <thead>
                            <tr>
                                <th>Id</th>
                                <th>Name</th>
                                <th>Email</th>
                                <th>Role</th>
                                <th>Action</th>
                            </tr>
                        </thead>
                        <tbody>
                           <?php 
                           foreach ($userQ->result() as $rowuser){
                            ?>
                            <tr>
                                <td><?php echo $rowuser->userId?></td>
                                <td>
                                <?php if($rowuser->profilePic!=''){ ?>
                                        <img alt="" src="<?php echo base_url();?>private/<?php echo $rowuser->userId;?>/<?php echo $rowuser->profilePic;?>" style="width: 50px; height:50px"> <?php echo $rowuser->name;?>
                                        <?php }else{?>
                                        <img src="<?php echo base_url()?>public/images/default-profile_pic.png" alt="" style="width: 50px; height:50px"><?php echo $rowuser->name;?>
                                        <?php }?>
                                </td>
                                <td><?php echo $rowuser->email?></td>
                                <td><?php echo $rowuser->roleName?></td>
                                <td>
                                    <a class="edit edituser" name="edituser" data-id="<?php echo $rowuser->userId;?>" 
                                      data-toggle="modal" data-target="#upuser" title="edit" href="#">
                                        <i class="icon md-pencil"></i>
                                    </a>&nbsp; &nbsp;
                                    <a class="delete userdeletecnfrm" name="deleteuser" data-id="<?php echo $rowuser->userId;?>" 
                                        data-toggle="modal" data-target="#deluser" title="delete" href="#">
                                        <i class="icon md-recycle"></i>
                                    </a>&nbsp; &nbsp;
                                    <?php 
                                    if($rowuser->status!=0){
                                    ?>
                                        <a class="inactiveuser" name="Inactivate" data-id="<?php echo $rowuser->userId;?>" 
                                            title="Inactivate" href="#">
                                            <span class="label label-success"> Active </span>
                                        </a>&nbsp; &nbsp;&nbsp; &nbsp;
                                        <?php }else{?>
                                        <a class="activeuser" name="Activate" data-id="<?php echo $rowuser->userId;?>" 
                                            title="Activate" href="#">
                                            <span class="label label-danger"> Inactive </span>
                                        </a>&nbsp; &nbsp;
                                    <?php }?>
                                    <!--<button class="btn btn-primary resetpassword" data-id="<?php echo $rowuser->email;?>">Reset password</button>-->
                                </td>
                            </tr>
                            <?php }?>
                       </tbody>
                  </table>
                </div>
            </div>
        </div>
    </div>
</section>
<!-- END /USER VIEW-->

用户删除确认窗口

<!-- DELETE USER CONFIRMATION VIEW -->

  <div class="modal-dialog" role="document">
    <form id="deluser">
        <div class="modal-content">
          <div class="modal-header">
              <button type="button" class="close cancel" data-dismiss="modal" aria-label="Close"><span class="closeForm">
              <i class="icon md-close-1"></i></span></button>
              <h4 class="modal-title" id="myModalLabel"><font color="black"><center>Delete User</center></font></h4>
          </div>
          <div class="modal-body">
              <p><b>Are you sure about this ?</b></p>
              <div class="modal-footer">
                 <button type="submit" class="btn btn-primary deleteuser" data-id="<?php echo $userId;?>" >Yes</button>
                 <button type="button" class="btn btn-default cancel" data-dismiss="modal">No</button>
             </div>
          </div>
        </div>
    </form>
  </div>

  <!-- END/DELETE USER CONFIRMATION VIEW -->
  <script>

  $('.cancel').unbind("click");
  $('.cancel').on("click",function(e){
    $('.modal-dialog').remove();
    e.preventDefault();
  });
  </script>

而不是 window.location.reload();,只需像 $("#yourtrid").hide(); 一样隐藏您的 table 行(我假设要删除的数据在 table 行中)

这应该是评论,但我在这里的声望很低

为什么不删除 window.location.reload()?还要在下面添加一个return false:我的意思是

 <script>
        function deleteuser() {
            $('.deleteuser').unbind("click");
            $('.deleteuser').on("click", function (e) {
                 e.preventDefault();
                var id = $(this).attr('data-id');
                $.post(urljs + "admin/Users/deleteuser", {'userId': id}, function (data) {
                    if (data.result > 0) {
                        $("#deletecategory").html(data.msg);                        
                    } else {
                        $.modal(data.view);
                        $("#deletecategory").html(data.mesg);
                    }
                }, "json");
                return false;
            });
        }
    </script>

还有你决定不在这里使用 $.ajax 的任何原因吗?您可以使用 $.ajax 并将类型 'POST' 添加到 ajax 调用中。

或者,您可以在 document.ready 上使用一个函数来获取当前用户列表。当 ajax post returns 成功时,你隐藏 window 或 table div id $('#div_id' )。隐藏();立即,将检索当前用户列表。所以,删除的用户不会出现。