Ajax Удалить в Laravel - PullRequest
       5

Ajax Удалить в Laravel

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

как удалить данные в таблице, не обновляя страницу, вот моя кнопка href

эти две кнопки - удалить, одна - архивировать, а одна - принудительно удалить проблему, они обновляются при нажатии.

  <td><a href="/admin/clients/archTrash/{{ $client->id }}" class="btn btn-info">Active</a></td>


 <td><a href="/admin/clients/archTrashPermanent/{{ $client->id }}" class="fa fa-trash btn btn-danger"></a></td>

мой контроллер

    $client = new Client;
    $client->client_code = $request->input('client_code');
    $client->client_name = $request->input('client_name');

   $client->save();

EDITED

Маршруты

 Route::get('/admin/clients/archTrash/{id}', 'Admin\ClientsController@archTrash');

Route::get('/admin/clients/archTrashPermanent/{id}', 'Admin\ClientsController@archTrashPermanent');

Ответы [ 3 ]

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

в вашем блэйд-шаблоне сделайте так:

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

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

теперь добавьте ниже 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>
0 голосов
/ 01 декабря 2018

Здесь вам нужно сделать два ajax-вызова к контроллеру, используя лицевую сторону.Допустим, вы используете jquery:

<td><a href="javascript:void(0);" url="/admin/clients/archTrash/{{ $client->id }}" onClick="deleteAjax(this);" class="btn btn-info">Active</a></td>

Затем в функции jQuery deleteAjax вызовите, получив атрибутцель то есть:

      UserModel::where('id', $id)->first()->delete();  //if softdelete is enabled

А затем в ответ просто удалите этот элемент.

Тот же процесс для принудительного удаления.

Надеюсь, это поможет.

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

Вместо использования Route::get используйте Route::delete.

В дополнение к этому измените тип: 'Put' на type: 'DELETE' в вызове ajax.

$Users = UserModel::find($id);
$Users->delete($id);

можно записать как:

UserModel::find($id)->delete();

Для получения дополнительной помощи вы можете посетить эти Ссылка1 Ссылка2

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