Laravel-使用Ajax删除数据而不刷新

时间:2018-12-01 05:45:14

标签: jquery ajax laravel laravel-5 eloquent

我想删除表中的数据而不刷新它。

这是我的看法。我使用href获取特定ID并删除单行。

 @foreach ($clients as $client)
           <tr>
               <td>{{ $client->client_code }}</td>
               <td>{{ $client->client_name }}</td>

    //I want to click this then delete without refresh//
    <td><a href="/admin/clients/archTrash/{{ $client->id }}" class="btn btn-info">Active</a></td>

    //I want to click this too then delete without refresh//
    <td><a href="/admin/clients/archTrashPermanent/{{ $client->id }}" class="fa fa-trash btn btn-danger"></a></td>
           </tr>      
           @endforeach

2 个答案:

答案 0 :(得分:2)

您好,jQuery - Ajax,在ajax操作中,您可以返回view(),它将返回已编译的html,并首先用传入的模板替换您现有的模板。简单的例子:

jQuery.ajax({
    action: '{your action}', // u can use '{{ route('route_name') }}' aswell.
    data: '{your data}', // some parameters to request send as json object incoming as array
    success: function (response) {
       console.log(response); // output of your action.
    }
});

这是无需重新加载即可更改内容的最佳方法。但是,如果您不想在您的网站上使用ajax,只需看看此guide

答案 1 :(得分:0)

jQuery和浏览器均已弃用jQuery的.ajax方法,而应使用axios:

axios.delete("{{route("client.delete')}}")
.then((response) {
    console.log(response.data);
})
.catch((error) {
    console.error(error.response.data);
});

Laravel路线:


Route::delete('/client/delete', "YourController@yourMethod")
    ->name('client.delete')