删除与批量删除功能共用一个控制器方法
JS 代码中的 AJAX 都是提交到这个控制器
1、删除功能
删除功能的 JS 代码
//监听工具条
table.on('tool(LAY-app-content-list)', function(obj){
var data = obj.data;
if(obj.event === 'del'){
layer.confirm('确定删除此文章?', function(index){
// 提交 Ajax
layer.msg('正在删除...', {icon: 16,shade: 0.3,time:5000});
$.post("/api/article/"+data.id+"", {"_method": "DELETE"}, function(result) {
layer.closeAll('loading');
if (result.code == 200) {
layer.msg(result.msg, {icon:6, time:1500}, function() {
table.reload('LAY-app-content-list');
});
} else {
layer.msg(result.msg, { icon: 5, time:1500});
}
});
// Ajax 结束
});
}
});
2、批量删除功能
批量删除功能按钮的HTML代码
<button class="layui-btn layuiadmin-btn-list" data-type="batchdel">删除</button>
data-type=“batchdel” 注意这个属性,JS中会用到。
批量删除功能的 JS 代码
var active = {
batchdel: function(){
var checkStatus = table.checkStatus('LAY-app-content-list')
,checkData = checkStatus.data; //得到选中的数据
if(checkData.length === 0){
return layer.msg('请选择数据');
}
var ids = []; //声明数组
for (var i = 0; i < checkData.length; i++) {
ids.push(checkData[i].id);
}
//console.log(ids);
layer.confirm('你确定要删除这 ' + checkData.length + ' 条数据吗?', { icon: 3, title: '提示'}, function(index) {
//执行 Ajax 后重载
layer.msg('正在删除...', {icon: 16,shade: 0.3,time:5000});
$.post("/api/article/"+ids+"", {"_method": "DELETE"}, function(result) {
layer.closeAll('loading');
if (result.code == 200) {
layer.msg(result.msg, {icon:6, time:1500}, function() {
table.reload('LAY-app-content-list');
})
} else {
layer.msg(result.msg, { icon: 5, time:1500});
}
});
// Ajax 结束
});
}
};
Larave 控制器中 destroy() 方法代码
// 删除文章
public function destroy($id)
{
$ids = is_array($id) ? $ids : ( is_string($id) ?explode (',',$id) :func_get_args());
$del = Article::destroy($ids); // destroy()返回删除的记录数
if ( $del > 0 ) {
$result = ['code' => 200, 'msg' => 'ID:'.$id.' 删除成功!'];
} else {
$result = ['msg' => 'ID:'.$id.' 删除失败!'];
}
return $result;
}
Laravel 路由
Route::prefix('/article') -> namespace('Api') -> group(function () {
Route::delete('/{id}', 'ArticleController@destroy'); //URL:api/article/ID
});
----------------=ENG=----------------