laravel ajax 无刷新点击修改商品状态

方法一:

模型层

public function state($id){
        $arr = $this->where('id',$id)->first();
        if($arr->state==1){
            $arr->state=0;
            return $arr->save();
        }else{
            $arr->state=1;
           return $arr->save();
        }
    }

js ajax:

 $('.new').click(function (){
        //定义一个数组用来存储要删除的id
        //获取id的值
        var id = $(this).attr('id');
        //定义指定的值,当前回是指a标签
        var _this = $(this);

        var text = $(this).text();

        $.ajax({

//路由
            url:'state',
            data:{id:id},
            type:'get',
            dataType:'json',
            success:function (res){
                // alert(res);
                if(res['code']==200){
                    if(text == '正常'){
                        _this.text('异常')
                    }else{
                        _this.text('异常')
                    }
                }
            }
        })
    })

html,绑定事件

<td>
            <span class="new" id="{{$val['id']}}">
                @if($val['state']==1)
                    <?php
                    echo '正常'
                    ?>
                @else
                    <?php
                    echo '异常'
                    ?>
                @endif
            </span>
        </td>

控制层:

//ajax异步修改状态值
    public function state(Request $request){
        $id = $request->get('id');

        $message = new messageModel();
        $res = $message->change($id);

        if($res){
            echo json_encode(['code'=>'200','msg'=>'修改成功','data'=>$res]);
        }
    }

方法二:

控制器:

//ajax异步修改状态

    public function upDo()
    {
        $id = \request()->get('id');

        $status = \request()->get('status');

        if ($status == '售卖中'){
            goodsModel::where('id',$id)->update(['status'=>'下架']);
            return json_encode(['code'=>200,'msg'=>'修改成功','data'=>'']);

        }else{
            goodsModel::where('id',$id)->update(['status'=>'售卖中']);
            return json_encode(['code'=>200,'msg'=>'修改成功','data'=>'']);
        }

    }

html 

 <button class="status" ids="{{$val['id']}}" status="{{$val['status']}}">{{$val['status']}}</button>

 

js ajax: 

 $('.status').click(function (){
       var id = $(this).attr('ids');
       var status = $(this).attr('status');
       var text = $(this).text();
       var _this = $(this);
       $.ajax({
           url:'upDo',
           data:{
               id:id,
               status:status
           },
           dataType:'json',
           success:function (res){
               if (res['code'] == 200){
                   if (text == '售卖中'){
                       _this.text('下架')
                   }else{
                       _this.text('售卖中')
                   }
               }

           }
       })
   })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值