如何使用ajax擦除Laravel中的单个记录


How to erase a single record in Laravel using ajax

在过去的6个小时里,我一直在到处寻找,却找不到问题的答案。我有一个显示用户列表的数据表。我有一个专栏,里面有一个看起来像垃圾桶的图标。这个想法是当用户按下图标时,就会使用ajax进行擦除。这是我第一次使用ajax和laravel。

这是我的观点

<td>
    <button class="btn btn-danger btn-xs" id="destroy" data-id="5"><i class="fa   fa-trash-o "></i>
    </button>
</td>

这是我的脚本

$(document).ready(function(){
    $("#destroy").click(function()
    {
        var id = $(this).data("id");
        $.ajax(
        {
            url: "http://localhost:8888/users/destroy",
            type: 'DELETE',
            dataType: "JSON",
            data: {
                "id": id
            },
            success: function ()
            {
                console.log("it Work");
            }
        });
        console.log("It failed");
    })
});

这是我的路线

Route::delete('users/destroy', 'UsersController@destroy');

这是我的控制器

public function destroy()
{
    $id = input::get('id');
    $id = User::findorfail($id);
    $id->delete();
}

这就是我得到的错误

VerifyCsrfToken.php中的TokenMismatchException第46行:''

id参数后面的数据数组中添加&_token={{ csrf_token() }}

查看

<td>
    <input type="hidden" value="<?php echo csrf_token(); ?>" name="_token">
    <button class="btn btn-danger btn-xs" id="destroy" data-id="5"><i class="fa   fa-trash-o "></i>
    </button> </td>

编写脚本

$(document).ready(function(){
    $("#destroy").click(function()
    {
        var id = $(this).data("id");
        var token = $('input[name="_token"]').val();
        $.ajax(
        {
            url: "http://localhost:8888/users/destroy",
            type: 'DELETE',
            dataType: "JSON",
            data: {
              "_token": token,
                "id": id,
            },
            success: function ()
            {
                console.log("it Work");
            }
        });
        console.log("It failed");
    })
});