laravel实现ajax无刷新状态修改

步骤

1、点击获取事件内容,发送ajax请求
2、响应成功后修改元素展示属性值与文本内容

实现代码

前端html与jquery部分

<td>
   @if ($item->status == 0)
       <span class="layui-badge layui-bg-red" style="cursor:pointer" onclick="status(this,{{$item->id}},0)">下架</span>
   @else
       <span class="layui-badge layui-bg-green" style="cursor:pointer" onclick="status(this,{{$item->id}},1)">上架</span>
   @endif
</td>
<script type="text/javascript">
        //ajax修改状态
        function status(obj,id,status){
            if(status){
                $.post("{{route('article-status')}}",{id:id,"_token": "{{csrf_token()}}","status":"0"},function(backdata){
                    if (backdata.code == 200) {
                        $(obj).attr("onclick",'status(this,'+id+',0)');
                        $(obj).attr("class","layui-badge layui-bg-red");
                        $(obj).text("下架");
                    } else {
                        layer.msg('修改失败', {
                            icon: 5
                        });
                    }
                },"json");
            }else{
                $.post("{{route('article-status')}}",{id:id,"_token": "{{csrf_token()}}","status":"1"},function(backdata){
                    if (backdata.code == 200) {
                        $(obj).attr("onclick",'status(this,'+id+',1)');
                        $(obj).attr("class","layui-badge layui-bg-green");
                        $(obj).text("上架");
                    } else {
                        layer.msg('修改失败', {
                            icon: 5
                        });
                    }
                },"json");
            }
        }
    </script>

php处理前端请求逻辑

  /**
     * 修改资讯状态
     */
    public function updateStatusArticle(Request $request)
    {
        //剔除数据
        $arr = $request->except("_token");
        $ret = ArticleModel::where(['id' => $arr['id'], 'is_delete' => 0])->update($arr);
        if($ret) {
            return [
                'code' => 200,
                'data' => [],
                'msg' => '修改成功',
            ];
        }else{
            return [
                'code' => 500,
                'msg' => '修改失败',
            ];
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值