我有一个表单,我可以通过选中一个复选框来销毁多个项目,并通过单击表格行中的删除按钮删除单个项目。
因为单个删除被一个包含DELETE
方法的表单包围。我不知道如何处理大规模删除。因为我想我也需要一个表格。
但是因为单个删除有一个形式,我不能用另一种形式包围。
此外,我必须有空间来使用表单过滤器,这将发送POST
方法。
laravel中最好的解决方案是什么?我无法使用操作,因为我需要DELETE
方法..
答案 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 () {
//
}
})