使用laravel在一个页面中批量删除和单个删除

时间:2014-10-28 22:30:10

标签: php html forms laravel methods

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

因为单个删除被一个包含DELETE方法的表单包围。我不知道如何处理大规模删除。因为我想我也需要一个表格。

但是因为单个删除有一个形式,我不能用另一种形式包围。

此外,我必须有空间来使用表单过滤器,这将发送POST方法。

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

2 个答案:

答案 0 :(得分:1)

HTML Forms适用于简单的交互,例如编辑内容或创建新资源。但是,当与项目列表进行交互并具有多个可能的操作时,它会变得复杂(正如您所注意到的)。这是我们新的最好的朋友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')

访问变量

答案 1 :(得分:0)

我通过创建ajax请求解决了这种情况,如下所示:

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