#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