使用 AJAX 删除\添加行(安全方式)

Posted

技术标签:

【中文标题】使用 AJAX 删除\\添加行(安全方式)【英文标题】:Delete\Add Row with AJAX (Secure way)使用 AJAX 删除\添加行(安全方式) 【发布时间】:2018-11-20 18:37:12 【问题描述】:

我是 Laravel 的新手,并试图找到使用 AJAX 请求删除或添加行的方法。

假设我有 PostController,我想删除我的一篇文章。 所以在 PostController 中会有destroy函数:

public function destroy($id)

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

现在,我如何从视图 AJAX 请求发送到控制器并以安全的方式使用此销毁方法。

这对我有用, 但问题是这是否安全?

AJAX 函数

function removeRow(id)

    token = $('#rmv').data("token");
    console.log(id);
       $.ajax(
        
            url: "/posts/"+id,
            type: 'POST',
            data: 
                "id": id,
                "_method": 'DELETE',
                "_token": token,
            ,
            success: function ()
            
                console.log("it Work");
                $('#post'+id).remove();
            
        );


查看

<a id="rmv" onclick="javascript:removeRow($post->id)" data-token=" csrf_token() " class="btn btn-primary" >Delete</a>

【问题讨论】:

你试过了吗? How to delete record in laravel 5.3 using ajax request?的可能重复 【参考方案1】:

好的,这对我有用。 但问题是这是否安全?

AJAX 函数

function removeRow(id)

    token = $('#rmv').data("token");
    console.log(id);
       $.ajax(
        
            url: "/posts/"+id,
            type: 'POST',
            data: 
                "id": id,
                "_method": 'DELETE',
                "_token": token,
            ,
            success: function ()
            
                console.log("it Work");
                $('#post'+id).remove();
            
        );


查看

<a id="rmv" onclick="javascript:removeRow($post->id)" data-token=" csrf_token() " class="btn btn-primary" >Delete</a>

【讨论】:

您可以对id 进行编码或散列以使其更安全

以上是关于使用 AJAX 删除\添加行(安全方式)的主要内容,如果未能解决你的问题,请参考以下文章

jquery给表格动态添加删除行后如何获取数据

AJAX如何动态地将行添加到表中

Web App 可在不刷新页面的情况下最好地添加、删除和编辑行

ajax 和 SQL 在附加行上显示数据库值

无法同时添加和删除行

选择表格行并通过ajax添加行时如何更改表格行的颜色