采用ajax实现对管理员或者用户进行无刷新更改状态值的操作。
Route::group(['namespace'=>'Admin', 'prefix'=>'admin', 'middleware'=>'adminLogin'], function(){
// 用户状态选择方法
Route::post('admin/status', 'AdminController@status');
}
<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>
/**
* 修改当前状态
* @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'
);
})
}
/**
* 用户修改状态操作
* @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协议进行许可,转载请保留此文章链接