Debug客栈
做一个爱分享的程序猿
Debug客栈
Laravel5.8 状态值无刷新更改
Laravel5.8 状态值无刷新更改

采用ajax实现对管理员或者用户进行无刷新更改状态值的操作。

路由设置

Route::group(['namespace'=>'Admin', 'prefix'=>'admin', 'middleware'=>'adminLogin'], function(){
    // 用户状态选择方法
    Route::post('admin/status', 'AdminController@status');
}

前端Laravel渲染

<td>
    @if($value->status == 0)
        <span class="btn btn-sm btn-rounded btn-gradient-success" onclick="changeStatus(this, {{ $value->id }})">开启</span>
    @elseif($value->status == 1)
        <span class="btn btn-sm btn-rounded btn-gradient-danger" onclick="changeStatus(this, {{ $value->id }})">禁用</span>
    @endif
</td>

前端JS更改状态代码

/**
 * 修改当前状态
 * @param obj
 * @param id
 */
function changeStatus(obj, id){
    var id = id;
    bootbox.alert("确定要改变当前管理员的状态么?", function(){
        $.post(
            //请求地址
            '/admin/admin/status',
            //请求数据
            {'id':id, '_token':'{{ csrf_token() }}'},
            //回调函数
            function(res){
                if(res.code > 0){
                    bootbox.alert("好像出错了,错误信息:"+res.msg);
                    setTimeout(function(){
                        window.location.reload();
                    },1000);
                }else{
                    bootbox.alert('修改成功');
                    setTimeout(function(){
                        //当前页面刷新
                        window.location.reload();
                    },1000);
                }
            },
            //请求数据使用的方法
            'json'
        );
    })
}

后端PHP处理代码

/**
 * 用户修改状态操作
 * @param Request $request
 */
public function status(Request $request){
    $id = $request->input('id');
    //获取当前id的状态
    $st = DB::table('dzushop_admin')->where('id',$id)->value('status');
    //接收读取状态值之后进行反转
    if($st == 0){
        $st = 1;
    }else{
        $st = 0;
    }
    //数据库操作
    $result = DB::table('dzushop_admin')->where('id',$id)->update(['status'=>$st]);
    //操作数据库返回值判断
    if($result){
        exit(json_encode(array('code'=>0, 'msg'=>'成功更新状态')));
    }else{
        exit(json_encode(array('code'=>1, 'msg'=>'更新状态异常')));
    }
}
https://www.debuginn.cn/wp-content/uploads/2019/07/debuginn-mfzzbz.png
赞赏
本文链接:https://www.debuginn.cn/3388.html
本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可,转载请保留文章链接
Debug客栈  |  Debug客栈引导页  |  Debug客栈交流群  |  赞助本站  |  博主微博  |  音乐下载器

发表评论

textsms
account_circle
email

  • https://secure.gravatar.com/avatar/d219af79b45e5891507fda4c4c2139a0?s=80&r=g
    repostone

    非技术的路过。https://repostone.home.blog/

    1天前回复

Debug客栈

Laravel5.8 状态值无刷新更改
采用ajax实现对管理员或者用户进行无刷新更改状态值的操作。 路由设置 Route::group(['namespace'=>'Admin', 'prefix'=>'admin', 'middleware'=>'adminLogin'], function(){ //…
扫描二维码继续阅读
2019-07-06
文章日历
2019年七月
« 6月    
1234567
891011121314
15161718192021
22232425262728
293031  
近期评论
统计数据
  • 1
  • 290
  • 9,318
  • 4,740
  • 38
  • 284
  • 190
  • 2019年7月13日
本站存活