【问题标题】:Delete a record without using form in laravel在laravel中不使用表单删除记录
【发布时间】:2017-02-14 19:50:01
【问题描述】:

需要在不使用表单标签的情况下删除记录。只需在 url 中传递一个 id 并获取一个需要处理的 id。

谢谢

【问题讨论】:

  • 请添加一些附加信息。

标签: laravel


【解决方案1】:

按照以下步骤进行

HTML

<a href="#" thisRecordId="{{$id}}" id="btnDelete">Delete</a>

JS

$('a#btnDelete').on('click',function()
{   
    var thisElement = $(this);

    $.ajax({
        type: 'post',
        url: "{{url('/')}}" + '/deleteRecord/'+thisElement.attr('thisRecordId'),
        data : {'_token': '{!! csrf_token() !!}'},
        async: false,
        success:function(response)
        {
            console.log(response)
        }
    });
});

路线

Route::post('deleteRecord/{id}','YourController@deleteRecord');

控制器

public function deleteRecord($id)
{
    $findRecord = ModelName::findOrFail($id);
    $findRecord->delete();

    return 'success';
}

希望您能找到解决方案!

【讨论】:

    【解决方案2】:

    这样试试

    <a type="button" class="label label-danger" href="/user/delete/{{$user->id}}">Delete</a>
    

    控制器方法

    public function getDelete($id)
    {
     echo $id;
    }
    

    【讨论】:

    • 这实际上有点“危险”,因为 Laravel 不会检查 CSRF 令牌...
    • 非常糟糕......任何人都可以用这种方法删除它......你甚至不必在页面上,你只需在地址栏中输入路线,它就会被删除跨度>
    • 是的......你是对的......在这种情况下,我们可以检查身份验证登录和用户权限......我只是简单地给出一个解决方案......
    猜你喜欢
    • 2018-06-11
    • 2018-11-08
    • 2019-08-19
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2019-10-03
    • 2015-09-01
    相关资源
    最近更新 更多