Laravel 5.8: Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD. при попытке входа в систему

#laravel #routes #controller

#laravel #маршруты #контроллер

Вопрос:

Мой проект работал нормально до вчерашнего дня, затем теперь, когда я пытаюсь войти в систему, я получаю.

Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD.

Это мой контроллер входа

  use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected function redirectTo()
            {
                if(Auth::user()->admin==0)
                {
                    return '/User_Dashboard';
                }
        
                if(Auth::user()->admin==1 )
                {
                    return '/Admin_Dashboard';
                }
        
                if(Auth::user()->admin==2)
                {
                    return '/Super_Dashboard';
                }
                
            }

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    public function logout(Request $request){
        $this->guard()->logout();
        Auth::logout();
        Session::flush();
  
        return redirect('/login');
    }
}
    }
  

И это мой контроллер проверки. Я думаю, что здесь нет проблем.

   use VerifiesEmails;

    /**
     * Where to redirect users after verification.
     *
     * @var string
     */
    protected function redirectTo()
    {
        if(Auth::user()->admin==0)
        {
            return '/User_Dashboard';
        }

        if(Auth::user()->admin==1 )
        {
            return '/Admin_Dashboard';
        }

        if(Auth::user()->admin==2)
        {
            return '/Super_Dashboard';
        }
        
    }
  

И последнее, но не менее важное, мой web.php

     Route::get('/', 'AppHttpControllersAuthLoginController@login')->name('login');

    Route::get('logout', 'AppHttpControllersAuthLoginController@logout');

    Route::get('bar-chart', 'ChartsController@index');
 Route::group(['middleware' =>['admin']], function(){

                // Admin Dashboard
        Route::post('/Admin_Dashboard',['uses' =>'DashboardController@adminDashboard', 'as' => 'dashboard']); 
}


 Route::group(['middleware' =>['superAdmin']], function(){

            Route::get('/Super_Dashboard', ['uses'=>'DashboardController@superDashboard', 'as' => 'superUserDashboard']);
}


    Route::get('/User_Dashboard', 'DashboardController@mydashboard')->name('userDashboard'); 
  

Какие-либо проблемы, которые вы видите?
Я не помню, какие изменения я внес в последний раз, и теперь это произошло, я вроде как новичок в laravel.

Ответ №1:

Это потому, что ваши маршруты Super_Dashboard и User_Dashboard являются маршрутами get? Возможно, попробуйте изменить их на любые, чтобы посмотреть, работает ли это, и перейти оттуда.

Комментарии:

1. Это должно было быть моим первым предположением, большое спасибо, чувак.