Ajax 如何删除laravel 5.7中的用户?
我正在将我的应用程序从laravel 4.2迁移到5.7。 我有以下逻辑来删除用户: 此操作在单击时触发Ajax 如何删除laravel 5.7中的用户?,ajax,laravel,Ajax,Laravel,我正在将我的应用程序从laravel 4.2迁移到5.7。 我有以下逻辑来删除用户: 此操作在单击时触发 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }) $.ajax({ type: "DELETE", url: "{{ URL::to('administrator/admin-delete') }}"+"/"+id })
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
})
$.ajax({
type: "DELETE",
url: "{{ URL::to('administrator/admin-delete') }}"+"/"+id
});
在我的路线文件中:
Route::delete('admin-delete', 'UsersController@removeAdminDelete');
在我的控制器中:
public function removeAdminDelete($id)
{
$user = Admin::find($id);
File::delete($user->photo);
$user->delete();
Session::flash('successDelete', "ok");
if(Auth::user()->id == $id){
Auth::user()->logout();
return Redirect::to("administrator");
}else{
return Redirect::back();
}
}
当我尝试删除用户时,我在控制台中遇到以下错误:
删除我的url 419(未知状态)
编辑后我得到404错误 Laravel中的419错误表示您没有为
csrf
提供令牌
如中所示,您可以在页面头部添加一个meta
标记,标记位于:
<meta name="csrf-token" content="{{ csrf_token() }}">
NB确保在拉入jQuery之后、发出ajax请求之前添加上述代码
此外,您应该为您的路线使用
delete
而不是resource
改变
Route::resource('admin-delete', 'UsersController@removeAdminDelete');
到
Laravel中的419错误表示您没有为
csrf
提供令牌
如中所示,您可以在页面头部添加一个meta
标记,标记位于:
<meta name="csrf-token" content="{{ csrf_token() }}">
NB确保在拉入jQuery之后、发出ajax请求之前添加上述代码
此外,您应该为您的路线使用
delete
而不是resource
改变
Route::resource('admin-delete', 'UsersController@removeAdminDelete');
到
似乎与csrf令牌有关。尝试在ajax调用中添加csrf令牌,如下所示:
<meta name="csrf-token" id="csrftoken" content="{{ csrf_token() }}">
似乎与csrf令牌有关。尝试在ajax调用中添加csrf令牌,如下所示:
<meta name="csrf-token" id="csrftoken" content="{{ csrf_token() }}">
在结束表单标记之前添加如下内容
<form action='' method='post'>
......
@csrf
</form>
......
@csrf
在结束表单标记之前添加如下内容
<form action='' method='post'>
......
@csrf
</form>
......
@csrf
我已经在主布局中放置了元标记。我应该如何添加ajax设置?只需在$.ajax({…})之前添加$.ajaxSetup({…})。我已经在主布局中放置了元标记。我应该如何添加ajax设置?只需在$.ajax({…})之前添加$.ajaxSetup({…})我正在编辑我的问题以显示我所做的修改apllied@YoussefBoudaya我错过了路线的id
参数。我已经更新了我的答案(特别是Route::delete(…)
bit)。是的,这就是导致问题的原因,添加ajaxsetup也解决了问题it@YoussefBoudaya如果这已经回答了您的问题,请您将其标记为已接受:)谢谢。我正在编辑我的问题以显示我所做的修改apllied@YoussefBoudaya我错过了路线的id
参数。我已经更新了我的答案(特别是Route::delete(…)
bit)。是的,这就是导致问题的原因,添加ajaxsetup也解决了问题it@YoussefBoudaya如果这已经回答了您的问题,请您将其标记为已接受:)谢谢。