如何在 Laravel 中使用 GET 请求注销

sum*_*up3 5 routes laravel eloquent laravel-5.8 laravel-6

注销时出现错误,它向我显示此错误...“此路由不支持 GET 方法。支持的方法:POST。” 请帮我解决这个问题..

这是我的代码...

@if(Auth::check())
  <li><i class="fa fa-user"></i> {{Auth::user()->name}}:
    <a href="{{url('logout')}}">logout</a>
  </li>
@else
  <li>
    <a href="{{route('login')}}"><i class="fa fa-user"></i>Login</a>
  </li>
@endif
Run Code Online (Sandbox Code Playgroud)

thm*_*spl 10

你可以在你的web.php路由文件中添加这一行:

Route::get('/logout', 'Auth\LoginController@logout');
Run Code Online (Sandbox Code Playgroud)

这允许您使用GET请求注销。


Abd*_*lam 5

<a href="{{ route('logout') }}">Logout</a>
Run Code Online (Sandbox Code Playgroud)

并在路由文件中

Route::get('logout', function ()
{
    auth()->logout();
    Session()->flush();

    return Redirect::to('/');
})->name('logout');
Run Code Online (Sandbox Code Playgroud)


ill*_*ted 2

您使用链接的 href 属性来调用相应的 URL - 但这些链接始终使用 GET HTTP 调用来打开/调用相应的目标。正如错误消息所述,您正在调用的目标正在等待 POST HTTP 调用。

知道你的问题是什么,你可能会找到这个 StackOverflow 答案,它应该可以帮助你以适合你的方式解决问题: Making href 锚标记请求 post 而不是 get