php – Laravel.旨在发布方法的重定向
发布时间:2020-12-14 19:34:48 所属栏目:大数据 来源:网络整理
导读:我正在使用laravel 5,这是我的问题.用户填写表单X,如果他没有登录,他会被重定向以填写更多字段或者他有可能登录.一切正常,如果用户填写其他字段,但如果他登录,laravel重定向用户使用GET方法而不是POST来形成X. 这是我的中间件重定向的样子: return redirect
我正在使用laravel 5,这是我的问题.用户填写表单X,如果他没有登录,他会被重定向以填写更多字段或者他有可能登录.一切正常,如果用户填写其他字段,但如果他登录,laravel重定向用户使用GET方法而不是POST来形成X.
这是我的中间件重定向的样子: return redirect()->guest('user/additional-fields'); 成功登录后会出现此重定向: return redirect()->intended(); 所以在重定向意图我得到错误 编辑: Route::post('/user/log-in-post',['as' => 'user-log-in-post','uses' => 'UserController@postUserLogIn']); 这是我的路线,我希望这是你需要的. 解决方法
您可以使用命名路由来解决此问题:
让我们做一个像这样的命名路线: 获得 Route::get('user/additional-fields',array( 'uses' => 'UserController@getAdditionalFields','as' => 'user.getAdditionalFields' )); 对于帖子 Route::post('user/additional-fields',array( 'uses' => 'UserController@postAdditionalFields','as' => 'user.postAdditionalFields' )); 因此,我们现在可以通过这样做确保Laravel使用正确的路线 return redirect() – > guest(route(‘user.getAdditionalFields’)); 另请注意,由于Laravel希望提交表单,因此无法重定向POST.所以你不能这样做: return redirect() – > guest(route(‘user.postAdditionalFields’)); 除了你使用像cURL或GuzzleHttp之类的东西模拟一个帖子请求 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |