php – Laravel.旨在发布方法的重定向
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Laravel.旨在发布方法的重定向,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1298字,纯文字阅读大概需要2分钟。
内容图文
我正在使用laravel 5,这是我的问题.用户填写表单X,如果他没有登录,他会被重定向以填写更多字段或者他有可能登录.一切正常,如果用户填写其他字段,但如果他登录,laravel重定向用户使用GET方法而不是POST来形成X.
这是我的中间件重定向的样子:
return redirect()->guest('user/additional-fields');
成功登录后会出现此重定向:
return redirect()->intended();
所以在重定向意图我得到错误
MethodNotAllowedHttpException. URL正确,定义为POST方法.我在这里错过了什么?为什么laravel重定向作为GET方法?我怎么能解决这个问题?谢谢!
编辑:
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之类的东西模拟一个帖子请求
内容总结
以上是互联网集市为您收集整理的php – Laravel.旨在发布方法的重定向全部内容,希望文章能够帮你解决php – Laravel.旨在发布方法的重定向所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。