auth中间件将请求类型从POST更改为GET

时间:2016-10-21 01:41:04

标签: php laravel routes middleware laravel-5.3

我在每个带有模型的页面上都有一个简单的评论表。该表单对于非登录用户是可见的。

当未登录的用户提交评论时,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上方添加了新路由。但它看起来并不像一个优雅的分辨率。

有什么想法吗?

1 个答案:

答案 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值并在

之后保存