Ajax ответ не возвращается - PullRequest
       1

Ajax ответ не возвращается

1 голос
/ 28 января 2020

У меня есть таблица с данными, в которой у меня есть кнопка действия в последнем столбце для удаления этой конкретной строки. Я хочу сделать удаление через ajax и без обновления страницы. Я использую следующий код, но они не отвечают со страницы ajax. Также запросы на странице ajax не выполняются. Могу ли я иметь представление о том, что может быть неправильно.

      <a href="#" class="btnIcon    glyphicon glyphicon-trash delbutton" data-toggle="tooltip" title="Delete" id="<?php echo $id; ?>"></a>

 <script type="text/javascript" >
        $(function() {

            $(".delbutton").click(function() {
                var del_id = $(this).attr("id");
                var info = 'id=' + del_id;
                var $tr = $(this).closest('tr');

                if (confirm("Sure you want to delete this post? This cannot be undone later.")) {

                    $.ajax({
                        type : "POST",
                        url : "delete_entry.php", //URL to the delete php script
                        data: info,
                    success : function(response) {
                               if(response=='deletion success'){
                                $tr.find('td').fadeOut(1000,function(){ $tr.remove();  }); 

                               }
                        }
                    });  
                }
                return false;
            });
        });
 </script>

И на delete_entry.php

 <?php
header('Content-Type: application/json');  

session_start();

require("../config.php"); 
require("../Database.class.php"); 
require("../site.php"); 
$db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);     
$fnc=new site_functions($db);

    $id     =   $_POST['id'];

    $deleted_date = date("Y-m-d h:i:s");
  $deleted_by       =    $_SESSION['session_admin_id'] ;

  $nots = $db->idToField("tbl_ques","notes",$id);
   if ($nots == "")
   {
   $date_string = "last deleted on|".$deleted_date."|" ;
   }
   else {
   $date_string = $nots."last deleted on|".$deleted_date."|" ;
   }
     $fnc->update_is_not_deleted_for_Pearsonvue("tbl_ques",$id, "$deleted_date", $deleted_by);       
    $notes_data = array("notes"=>$date_string);

  if($db->query_update("tbl_ques", $notes_data, "id=$id")){
      http_response_code();        
      echo json_encode('deletion success');
    }else{
       http_response_code(204);       
    }

?>

1 Ответ

1 голос
/ 28 января 2020

Измените свою java функцию скрипта, как показано ниже

<script type="text/javascript" >
        $(function() {

            $(".delbutton").click(function() {
                var del_id = $(this).attr("id");
                var info = 'id=' + del_id;
                if (confirm("Sure you want to delete this post? This cannot be undone later.")) {

                    $.ajax({
                        type : "POST",
                        url : "delete_entry.php", //URL to the delete php script
                        data: info,
           //changes from 
                       success : function(response) {
                               if(response=='deletion success'){  
                           $(this).parents(".record").animate("fast").animate({
                                 opacity : "hide"
                           }, "slow");
                               }
                        }
                    });  
            //changes to                  
                }
                return false;
            });
        });
  </script>

Также измените php файл

<?php

header('Content-Type: application/json');  // Add this line its must

session_start();

 $db = new Database(DB_SERVER, DB_USER, DB_PASS, DB_DATABASE);     


    $id     =   $_POST['id'];

    $deleted_date = date("Y-m-d h:i:s");
  $deleted_by       =    $_SESSION['session_admin_id'] ;

  $nots = $db->idToField("tbl_question","notes",$id);
   if ($nots == "")
   {
   $date_string = "last deleted on|".$deleted_date."|" ;
   }
   else {
   $date_string = $nots."last deleted on|".$deleted_date."|" ;
   }

      $fnc->update_is_not_deleted_for_Pearsonvue("tbl_question",$id, "$deleted_date", $deleted_by);       
    $notes_data = array("notes"=>$date_string);
//changes from
    if($db->query_update("tbl_question", $notes_data, "id=$id")){
      http_response_code();        
      echo json_encode('deletion success');
    }else{
       http_response_code(204);       
    }
//changes to
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...