前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Laravel5.8 状态值无刷新更改

Laravel5.8 状态值无刷新更改

作者头像
Meng小羽
发布2019-12-24 11:57:17
1.2K0
发布2019-12-24 11:57:17
举报
文章被收录于专栏:Debug客栈Debug客栈

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

路由设置

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

前端Laravel渲染

代码语言:javascript
复制
<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更改状态代码

代码语言:javascript
复制
/**
 * 修改当前状态
 * @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处理代码

代码语言:javascript
复制
/**
 * 用户修改状态操作
 * @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://cloud.tencent.com/developer/article/1558523

本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 路由设置
  • 前端Laravel渲染
  • 前端JS更改状态代码
  • 后端PHP处理代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档