提交表单时Laravel重定向问题

时间:2018-12-06 04:50:56

标签: laravel csrf

我有以下路线

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重定向。

enter image description here

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


已解决

问题在于表单中的HTML元素不具有'name'属性,因此Laravel表单请求验证被重定向回。添加这些缺少的属性后,表单将按预期工作。

1 个答案:

答案 0 :(得分:0)

已解决

问题在于表单中的HTML元素不具有'name'属性,因此Laravel表单请求验证被重定向回。添加这些缺少的属性后,表单将按预期工作。