Laravel 提交表单时重定向问题

问题描述 投票:0回答:1

我有以下路线

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"; 
    } 
}

根据此代码,预期的行为应该是看到“确定”,而不是我得到 HTTP 302 重定向,如下所示在 Dev Console 中。

这是一个奇怪的行为,这不是预期的。提交表单后如何获得显示“OK”的预期行为?如何调试?


已解决

问题是表单中的 HTML 元素没有“名称”属性,因此 Laravel 表单请求验证重定向回来。添加那些缺失的属性后,表单按预期工作。

laravel csrf
1个回答
1
投票

已解决

问题是 HTML 表单中的元素没有

name
属性,因此导致 Laravel Form Request Validation 重定向回来。添加缺少的属性后,表单按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.