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

友情提示:此篇文章大约需要阅读 5分钟7秒,不足之处请多指教,感谢你的阅读。订阅本站

采用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/3388.html
本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可,转载请保留此文章链接
相关链接: Debug客栈  |  引导页  |  加入交流群  |  赞助本站  |  @微博  |  @Bilibili  |  @推特  |  @Github
社会主义核心价值观: 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善

发表评论

textsms
account_circle
email

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

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

    4月前回复

Debug客栈

Laravel5.8 状态值无刷新更改
采用ajax实现对管理员或者用户进行无刷新更改状态值的操作。 路由设置 Route::group(['namespace'=>'Admin', 'prefix'=>'admin', 'middleware'=>'adminLogin'], function(){ //…
扫描二维码继续阅读
2019-07-06