【问题标题】:Mass deleting and single deleting in one page with laravel使用laravel在一页中批量删除和单次删除
【发布时间】:2014-12-24 12:35:31
【问题描述】:

我有一个表单,我可以通过选中一个复选框来销毁多个项目,并且可以通过单击表格行中的删除按钮来删除单个项目。

因为单个删除被一个表单包围,其中包含一个DELETE 方法。我不确定如何处理批量删除。因为我想我也需要一个表格。

但是因为单次删除是有表格的,所以不能用其他表格围起来。

我还必须有空间来使用表单作为过滤器,它将发送POST 方法。

laravel 中最好的解决方案是什么?我不能使用动作,因为我需要DELETE 方法..

【问题讨论】:

  • 可以选择javascript吗?
  • 是的,但我只是将它作为普通页面发送,并刷新。我猜你指的是 AJAX 调用?不知道我会如何使用 Javsacript 来做到这一点。如果有人能把我带到正确的方向,我会很高兴。它还必须有一个 DELETE 方法。

标签: php html forms laravel methods


【解决方案1】:

我已经通过创建如下的 ajax 请求解决了这种情况:

$.ajax({
  url: $(this).data('url'),
  type: 'POST',
  data: {_method: 'delete', _token: token},
  success: function () {
    //
  }
})

【讨论】:

    【解决方案2】:

    HTML 表单适用于简单的交互,例如编辑内容或创建新资源。但是,当与项目列表交互并具有多个可能的操作时,它会变得复杂(如您所见)。那是我们最好的新朋友 AJAX 进来了。我将使用 jQuery,尽管您也可以使用纯 javascript(这只是更多的工作)
    我们将使用$.ajax 方法调用服务器

    $.ajax({
        url: 'your/target/url',
        type: 'delete',
        data: {ids: [1,2,3]}, // just an example. here you would insert the ids of all selected items
    }).done(function(data){
        // gets called if everything goes well 
    }).fail(function(jqXHR, textStatus){
        // ooops the request returned an HTTP error code, something bad must have happened
    });
    

    在您的控制器中,您应该能够使用 Input::get('ids') 访问变量

    【讨论】:

    • 是的,我在几秒钟前创建了这样的东西,我认为这真的是表演。但我想这是这种情况下的最佳选择。成功后我重新加载页面。
    • @guidsen "imo this is really show" 你的意思是慢吗?
    • 不确定,可能是因为我在本地主机上工作。我相信无论如何在生产服务器上它会更快。我会在几分钟后发布我的实现。感谢您的帮助!
    猜你喜欢
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2019-02-28
    • 2012-06-04
    相关资源
    最近更新 更多