Проблема с перенаправлением Laravel при отправке формы

У меня следующие маршруты

Route::get('videos/{video}/edit', 'VideoController@edit');
Route::put('videos/{video}/update2', 'VideoController@update2');

первый маршрут загружает следующий разделенный вид

<form action='/videos/{{$video->uid}}/update2' method='post'>

<button class='btn btn-default' type='submit'>Update</button>
{{csrf_field()}}
{{method_field('PUT')}}
</form>

из кода контроллера, указанного ниже

class VideoController extends Controller{
   public function edit(\App\Models\Video $video){
      return view('video.edit',[
         'video' => $video,
      ]); 
   }

   public function update2(VideoUpdateRequest $request,\App\Models\Video $video){
      echo "ok"; 
    } 
}

согласно этому коду, ожидаемое поведение должно заключаться в том, чтобы увидеть "ok", вместо этого я получаю HTTP 302 Redirect, как показано ниже в консоли разработчика.

Проблема с перенаправлением Laravel при отправке формы

Это странное поведение, которого нельзя ожидать. Как добиться ожидаемого поведения при отображении «ОК» после отправки формы? Как это отладить?


Решено

Проблема заключалась в том, что элементы HTML в форме не имеют атрибутов name, поэтому Laravel Form Request Validation перенаправляет обратно. после добавления этих недостающих атрибутов форма работает должным образом.

Вам нужно перенаправить на представление, а затем отправить ему сообщение об успешном выполнении. laravel.com/docs/5.7/redirects. Либо перенаправить обратно на ту же страницу, либо просто увидеть «хорошо».

hktang 06.12.2018 06:19

Спасибо за ответ, проблема связана с проверкой, при удалении проверки маршрут работает должным образом.

Danushka Gunawardena 06.12.2018 07:10

Пожалуйста, опубликуйте свое решение в отдельном ответе, спасибо.

Cœur 30.12.2018 12:18

ответ добавлен, спасибо за напоминание

Danushka Gunawardena 31.12.2018 14:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
4
650
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решено

Проблема заключалась в том, что элементы HTML в форме не имеют атрибутов name, поэтому Laravel Form Request Validation перенаправляет обратно. после добавления этих недостающих атрибутов форма работает должным образом.

Другие вопросы по теме