我正在Laravel进行一个项目,我想在单击按钮时将列的值从0更改为1。
我正在使用ajax来做到这一点。
view.blade
<td><button type="button" class="btn btn-primary" id="j-approve-user" onclick="approveLogin('{{ route('approve', $user->id) }}')">Approve</button></td>
ajax脚本:
let getToken = function() {
return $('meta[name=csrf-token]').attr('content')
}
function approveLogin(url){
let data = { '_token': getToken() }
$.ajax({
'url': url,
'method': 'POST',
'data': data,
}).done(function(response) {
//window.location.reload()
})
}
控制器:
public function approve($user_id)
{
$user = User::find($user_id);
$user->update(['loginapproval'=>'1']);
return "ok";
}
但是,单击按钮时,我将获得500的状态代码。
任何人都可以帮忙吗?
500错误是因为您可能会查找的各种错误:
-
您是否检查了Laravel错误日志?
storage/logs/laravel.log
答案可能在那里! -
您的型号
loginapproval
属性可填充,而不是质量分配? -
您是否检查了
$user_id
还是模式为null,则您正在尝试更新零模型:
您的代码。
public function approve($user_id)
{
$user = User::find($user_id);
if (!is_null($user)) {
$user->update(['loginapproval'=>'1']);
return "ok";
}
}