laravel8 查看异步删除

本文介绍如何在Laravel8中实现前端通过Ajax进行异步删除操作,包括控制器调用、Ajax请求和响应处理,帮助理解前后端交互过程。
摘要由CSDN通过智能技术生成
 //访问器
    protected $appends=["Checkbox",'Btn','Show'];

    /**
     * 模型访问器添加复选框和删除按钮
     * @return string
     */
    public function getCheckboxAttribute(){
        $id=$this->id;
        return "<input type='checkbox' name='' value=''>";
    }
    public function getBtnAttribute(){
        $id=$this->id;
        return "<a href='http://www.day.com/index.php/companyDetailShow?id={$id}'><button>查看</button></a>
<a onclick='admin_del($id,this)'><button>删除</button></a>";
    }

    public function getShowAttribute(){
        $id=$this->id;
        return "<a title='查看' href='javascript:;' onclick="."admin_edit('查看','http://www.day.com/index.php/companyDetailShow?id={$id}','4','','510')"." class='ml-5' style='text-decoration:none'><i class='Hui-iconfont'>&#xe6df;</i></a>";
    }
//ajax删除
Route::delete('companyDel', [\App\Http\Controllers\CompanyController::class, 'companyDel']);

前端:

 $('#table_id_example').DataTable(
            {
                "aoColumnDefs": [
                    {"orderable": false, "aTargets": [0,2,3,4,5,6,7,8,9]},// 不参与排序的
                ],
                order:[[1,'desc']],
                // 开启分页
                paging: true,
                // 每页条数
                lengthMenu: [ 10, 25, 50, 75, 100 ],
                // 开启服务模式
                serverSide: true,
                searching:false,
                // 后端请求
                {{--"ajax: "{{url('showData')}}",--}}
                ajax:{
                    url:"{{url('showData')}}",
                },
                columns: [
                    {data: 'Checkbox'},
                    {data: 'id'},
                    {data: 'company'},
                    {data: 'code'},
                    {data: 'c_type'},
                    {data: 'industry'},
                    {data: 'level'},
                    {data: 'city'},
                    {data: 'updated_at'},
                    {data: 'Btn'},
                    {data: 'Show'},
                ]
            }
        );
 /*管理员-删除*/
    function admin_del(id,obj){
    	layer.confirm('确认要删除吗?',function(index){
    		$.ajax({
    			type: 'DELETE',
    			url: '{{url('companyDel')}}',
    			dataType: 'json',
                data:{
                    _token:'{{csrf_token()}}',
                    id:id
                },
    			success: function(data){
    				$(obj).parents("tr").remove();
    				layer.msg('已删除!',{icon:1,time:1000});
    			},
    			error:function(data) {
    				console.log(data.msg);
    			},
    		});
    	});
    }

    /*管理员-编辑*/
    function admin_edit(title,url,id,w,h){
        layer_show(title,url,w,h);
    }

控制器调用:

    /**
     * @param $id
     * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\View\View|\think\response\View
     * 查看详情页面
     */
    public function companyDetailShow(City $city,Request $request){
        $id=$request->input('id');
//        dd($id);
        $value=CompanyModel::companyDetailShow($id);
//        dd($data);
        if ($request->ajax()) {
            $data = $city->where('pid', $request->get('id'))->get();
            return $data;
        }
//        查询pid为0的省份信息
        $city = $city->where('pid', 0)->get();
//        dd($data);
        $type = TypeModel::showData();
//        dd($type);
        $level = LevelModel::showData();
        return view('index/admin-watch',compact('type', 'level', 'city','value'));
    }

    /**
     * @param Request $request
     * @return array
     * 异步删除
     */
    public function companyDel(Request $request){
        $id=$request->input('id');
        $data=CompanyModel::companyDel($id);
            if ($data) {
                return ['msg' => '删除成功', 'code' => 200];
            } else {
                return ['msg' => '状态不支持', 'code' => 500];
            }

    }
public static function companyDetailShow($id){
    return self::find($id);
}

    /**
     * @param $id
     * @return int
     * 根据id删除数据
     */
    public static function companyDel($id){
        return self::destroy($id);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值