我得到了一个表单,在该表单中,我可以通过选中复选框销毁多个项目,并可以通过单击表行中的删除按钮删除单个项目。
因为单个删除被一个包含DELETE
方法的窗体包围。我不知道如何处理大规模删除。因为我想我也需要一份表格。
但因为单个删除有一个表单,我不能用另一个表单包围。
此外,我必须有空间使用表单进行筛选,这将发送POST
方法。
在laravel中,最好的解决方案是什么?我不能使用动作,因为我需要DELETE
方法。。
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')
访问变量
我通过创建如下ajax请求解决了这种情况:
$.ajax({
url: $(this).data('url'),
type: 'POST',
data: {_method: 'delete', _token: token},
success: function () {
//
}
})