首页 文章

注销:RouteCollection.php第233行中的MethodNotAllowedHttpException

提问于
浏览
1

我正在为Laravel使用多种身份验证......

这是我的用户lougout功能

的LoginController

public function logout()
{
    Auth::guard('web')->logout();
    return redirect('/');
}

AdminloginController

public function logout()
{
    Auth::guard('web')->logout();
    return redirect('/');
}

这是我的路线

Route::get('/enseignant/logout', 'Auth\LoginController@Elogout')->name('enseignant.logout');

Route :: get('/ administration / logout','Auth \ AdminloginController @ logout') - > name('admin.logout');

视图中的所有方法

<a href="{{ route('admin.logout') }}" class="btn btn-default btn-flat"
   onclick="event.preventDefault();
   document.getElementById('logout-form').submit();">
   Logout
 </a>

 <form id="logout-form" action="{{ route('admin.logout') }}" method="POST" style="display: none;">
 {{ csrf_field() }}
 </form>

该功能正常,但当我点击按钮时,我收到此错误:

RouteCollection.php第233行中的MethodNotAllowedHttpException

1 回答

  • 2

    您的路由仅接受 GET 方法,但在表单中,您使用 POST 指定 . 我认为这是问题的根源 . 错误消息也表明 .

    建议您使用POST进行注销,就像您一样 . 所以,只需将有问题的路线改为......

    Route::post(...);
    

    ......应该修复错误 .

相关问题