Ajax No Refresh при удалении данных из таблицы - Laravel - PullRequest
0 голосов
/ 01 декабря 2018

Моя проблема в том, что я могу нажать на кнопку, но ее необходимо обновить, чтобы удалить.Есть ли что-то, что делает мой AJAX-код проблемой, почему это освежает?Я хочу, чтобы кнопка при нажатии кнопки удаляла ее автоматически, без обновления.

моя кнопка

<button type="button" data-client_id="{{ $client->id }}" class="btn-archive btn btn-info">Active</button>

<button type="button" data-client_id="{{ $client->id }}" class="btn-delete fa fa-trash btn btn-danger"></button>

моя AJAX

 <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
$(document).on('click','.btn-archive',function(){
   var clientID=$(this).attr('data-client_id');
   var url='/admin/clients/archTrash/'+clientID;
   callAjax(url);
});

$(document).on('click','.btn-delete',function(){
   var clientID=$(this).attr('data-client_id');
   var url='/admin/clients/archTrashPermanent/'+clientID;
   callAjax(url);
});

function callAjax(url){
   $.ajax({
       url:url,
       dataType:'json',
       type:'GET',
       success:function(response){
          console.log(response);
       },
       error:function(err){
         console.log(err);
       }
   });
}
</script>

Структура таблицы

`класс Client расширяет Model {use SoftDeletes;

 protected $dates = ['deleted_at'];
 // Table Name
 protected $table = 'clients';
 // Primary Key
 public $primaryKey = 'id';
 // Timestamps
 public $timestamps = true;`

1 Ответ

0 голосов
/ 01 декабря 2018

Вы выполняете только половину работы: данные отправляются на сервер, и кажется, что на этом сайте все работает как положено.Но затем вы хотите «удалить клиента» (я полагаю, вы ожидаете, что строка таблицы исчезнет) без перезагрузки страницы.Вам нужно кодировать это в обработчике успеха:

success: function(response) {
    $('#client-data').remove();
    console.log(response);
}

Обратите внимание, что этот пример кода всегда удаляет один и тот же элемент с идентификатором client-data.Возможно, вам понадобится что-то вроде $(this).parent().remove();, так как на вашей странице, кажется, несколько кнопок удаления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...