Laravel提交表单时的重定向问题

ctehm74n  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(146)

我有以下路线:

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重定向,如下面在开发人员控制台中所示。

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

已解决

问题是表单中的HTML元素没有name属性,因此Laravel Form Request Validation重定向回来。在添加这些缺失的属性后,表单可以按预期工作。

ttcibm8c

ttcibm8c1#

已解决

问题是HTML表单中的元素没有name属性,因此导致Laravel表单请求验证重定向回来。在添加缺少的属性后,表单按预期工作。

相关问题