dima9595
@dima9595
Junior PHP

Почему не работает Logout в Laravel через ссылку?

Доброго времени суток.

Есть Laravel последней версии (^8) с установленным Jetstream (с Alphine).

Пытаюсь сделать "выход из аккаунта" (logout), но почему-то появляется такая проблема:

Есть форма, в ней ссылка, по которой пользователь должен будет выйти из аккаунта:
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                        <form method="POST" action="{{ route('logout') }}">
                            @csrf

                            <li>
                                <a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); this.closest('form').submit();">
                                    {{ __('Log out') }}
                                </a>
                            </li>
                        </form>
                    </ul>


Но когда перехожу по ссылке, то выводится следующее сообщение:
The GET method is not supported for this route. Supported methods: POST.

Но ведь в форме я явно указываю, что нужно использовать POST.

Но когда использую готовый пример на TailwindCSS - работает всё нормально:
<form method="POST" action="{{ route('logout') }}">
                            @csrf

                            <x-jet-dropdown-link href="{{ route('logout') }}" onclick="event.preventDefault(); this.closest('form').submit();">
                                {{ __('Logout') }}
                            </x-jet-dropdown-link>
                        </form>


Не могли бы подсказать что я пропустил/не учёл? Заранее спасибо!

PS: Вангую, что проблема в "onclick". Но не знаю что нужно изменить.
  • Вопрос задан
  • 351 просмотр
Пригласить эксперта
Ответы на вопрос 1
Попробуйте в форму добавить {{ method_field('POST') }}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы