我在每个带有模型的页面上都有一个简单的评论表。该表单对于非登录用户是可见的。
当未登录的用户提交评论时,auth
中间件会捕获该请求。
表单操作为comments
。
{!! Form::open(array('url' => 'comments', 'method' =>'post', 'role'=>'form', 'class'=>'')) !!}
我的路由文件中定义了资源路由:
Route::resource('comments', 'CommentsController');
成功登录后,用户被重定向到comments
,但问题出在此处:
用户被重定向到控制器的index
方法。
中间件似乎将请求类型从POST
重置为GET
。
所有过去和最近的Laravel 5.3都存在这个问题。
相关的Laravel文档here
这种行为"功能"还是应该报告Laravel中的错误?
我将表单标题中的网址定义更改为comments/create
,并在resource
上方添加了新路由。但它看起来并不像一个优雅的分辨率。
有什么想法吗?
答案 0 :(得分:0)
它不是一个bug, 用户成功登录后,用户将被重定向回“评论”。 重定向实际上是一个GET方法,你不能使用POST方法重定向。
此链接将支持您无法在重定向中使用POST, https://www.sitepoint.com/community/t/how-to-do-redirect-in-php-with-post-and-not-get/4968/7
您可以使用session存储以前的POST值并在
之后保存