php – Laravel.旨在发布方法的重定向

php – Laravel.旨在发布方法的重定向,第1张

概述我正在使用laravel 5,这是我的问题.用户填写表单X,如果他没有登录,他会被重定向以填写更多字段或者他有可能登录.一切正常,如果用户填写其他字段,但如果他登录,laravel重定向用户使用GET方法而不是POST来形成X. 这是我的中间件重定向的样子: return redirect()->guest('user/additional-fields'); 成功登录后会出现此重定向: retu 我正在使用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.旨在发布方法的重定向所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1243325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存