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

#php #laravel #laravel-8

#php #laravel #laravel-8

Вопрос:

home.blade.php файл «‘

 @extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">{{ __('Dashboard') }}</div>

                <div class="card-body">
                    @if (session('status'))
                        <div class="alert alert-success" role="alert">
                            {{ session('status') }}
                        </div>
                    @endif

                    {{ __('You are logged in!') }}
                </div>

                <div class="card-body">
                @csrf

                <form action="/upload" method="post"> 
                <input type="file" name="image">
                <input type="submit" name="upload">
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
'''
  

Мои маршруты
«‘

 Route::post('/upload',function (){
   return('Halu');
});
  

Я не знаю, где ошибка, так как я новичок в laravel 8. Маршрут определяется с помощью функции, и я не знаю, где get или post идет не так

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

1. Убедитесь, что не происходит перенаправления, например, с HTTP -> HTTPS. Вы можете посмотреть его на вкладке Сеть в консоли разработчика.

2. Вы получаете эту ошибку при доступе к этой странице или после нажатия кнопки отправки?

3. @sta После нажатия кнопки отправить

4. @csrf Поле находится за пределами <form> , что объясняет, почему при попытке отправки вы получаете сообщение «срок действия страницы истек». Вы переместили его внутри тегов, как предлагали другие ответы?

5. Да, я сделал @ppajer, но он показывает ту же ошибку 419

Ответ №1:

Передайте URL-адрес в атрибуте действия. и передайте @csrf токен внутри формы.

 <form action="{{ url('/upload')}}" method="post">
 @csrf
</form>
  

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

1. Нет, ошибка не устранена. он все еще идет. Я пытаюсь отправить сообщение об истечении срока действия страницы, а затем обновляю его. в нем говорится, что метод get не поддерживается …. ошибка

2. Это решило проблему. Мне пришлось очистить кеш после изменения атрибута action

3. Да, рад вам помочь 🙂

Ответ №2:

при попытке загрузить файл, который вы должны установить enctype="multipart/form-data" в свою форму, он должен выглядеть следующим образом

 <form action="{{ url('/upload')}}" method="post" enctype="multipart/form-data">
 @csrf
</form>
  

это может решить вашу проблему

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

1. Нет, я просто пытаюсь передать оператор dd или return, чтобы отобразить текст для показа. сначала отображается ошибка истечения срока действия страницы 419, а когда я пытаюсь обновить страницу с истекшим сроком действия, отображается ошибка метода get