将表单发布到身份验证路由时出错(MethodNotAllowedHttpException)

Error when POSTing a form to auth route (MethodNotAllowedHttpException)

我正在尝试 POST 用户身份验证之前的表单。 用户将数据输入到表单中,然后 POST 将其发送到受 auth:

保护的路由

Route::group(['middleware'=>'auth'], function(){ Route::post('v2/payment/start/','PaymentController@generic');

});

如果用户在 POST 之前通过身份验证,则请求处理正常。 如果用户未通过身份验证,则用户获取登录表单,输入登录密码并收到错误 "MethodNotAllowedHttpException".

这可能是什么原因造成的? 在我的 LoginController 中,我有:

return redirect()->intended($this->redirectPath());

所以,用户应该被正确重定向。

哪里出错了?

问题是在用户通过身份验证后,他们将使用 GET 方法重定向(重定向始终使用 GET 方法)。所以你可以尝试使用:

Route::match(['get', 'post'], 'v2/payment/start/','PaymentController@generic');

而不是

Route::post('v2/payment/start/','PaymentController@generic');

使这条路线与 GETPOST 方法一起工作。