Laravel: MethodNotAllowedHttpException 更改密码路由时出错
Laravel: MethodNotAllowedHttpException Error in change password route
我是 laravel 的初学者。我想在我的应用程序中有一个更改密码表单。
我的观点是这样的:
<form action="{{ route("profile.changePassword") }}" method="post">
{{ csrf_field() }}
{{--{{ method_field('PUT') }}--}}
<div class="form-group">
<label for="old">Old password</label>
<input value="" type="password" name="old" class="form-control" id="old">
</div>
<div class="form-group">
<label for="new">New password</label>
<input value="" type="password" name="new" class="form-control" id="new">
</div>
<div class="form-group">
<label for="rep">Repeat new password</label>
<input value="" type="password" name="rep" class="form-control" id="rep">
</div>
<div class="text-center">
<button type="submit" class="btn btn-success">Update</button>
</div>
我的控制器是这样的:
public function changePassword()
{
return view('profile.passwordReset');
}
public function resetPassword($request)
{
dd($request);
}
我的路线是这样的:
Route::group(['prefix' => 'panel'], function (){
Route::resource("profile", "ProfileController", ['except' => 'index']);
Route::get("/changepassword", "ProfileController@changePassword")->name('profile.changePassword')->middleware('auth');
Route::post("/resetPassword", "ProfileController@resetPassword")->name('profile.resetPassword')->middleware('auth');
});
但是在我提交表单后出现错误:
Symfony \ Component \ HttpKernel \ Exception \
MethodNotAllowedHttpException
No message
我将 post("/resetPassword"...
更改为 any("/resetPassword"...
并再次出现相同的错误。
实际上你形成了错误的动作路线,你使用了视图路线而不是 post 路线。
您需要为 resetPassword 路由更改它:
<form action="{{ route("profile.resetPassword") }}" method="post">
我是 laravel 的初学者。我想在我的应用程序中有一个更改密码表单。 我的观点是这样的:
<form action="{{ route("profile.changePassword") }}" method="post">
{{ csrf_field() }}
{{--{{ method_field('PUT') }}--}}
<div class="form-group">
<label for="old">Old password</label>
<input value="" type="password" name="old" class="form-control" id="old">
</div>
<div class="form-group">
<label for="new">New password</label>
<input value="" type="password" name="new" class="form-control" id="new">
</div>
<div class="form-group">
<label for="rep">Repeat new password</label>
<input value="" type="password" name="rep" class="form-control" id="rep">
</div>
<div class="text-center">
<button type="submit" class="btn btn-success">Update</button>
</div>
我的控制器是这样的:
public function changePassword()
{
return view('profile.passwordReset');
}
public function resetPassword($request)
{
dd($request);
}
我的路线是这样的:
Route::group(['prefix' => 'panel'], function (){
Route::resource("profile", "ProfileController", ['except' => 'index']);
Route::get("/changepassword", "ProfileController@changePassword")->name('profile.changePassword')->middleware('auth');
Route::post("/resetPassword", "ProfileController@resetPassword")->name('profile.resetPassword')->middleware('auth');
});
但是在我提交表单后出现错误:
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException No message
我将 post("/resetPassword"...
更改为 any("/resetPassword"...
并再次出现相同的错误。
实际上你形成了错误的动作路线,你使用了视图路线而不是 post 路线。
您需要为 resetPassword 路由更改它:
<form action="{{ route("profile.resetPassword") }}" method="post">