将表单发布到身份验证路由时出错(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');
使这条路线与 GET
和 POST
方法一起工作。
我正在尝试 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');
使这条路线与 GET
和 POST
方法一起工作。