【发布时间】:2021-08-05 23:12:13
【问题描述】:
我正在使用 Laravel 8 开发我的项目,并且我已经构建了这个表单来验证令牌:
<div class="card-body">
<form action="{{ route('profile.2fa.phone') }}" method="POST">
@csrf
<div class="form-group">
<label for="token" class="col-form-label">Token</label>
<input type="text" class="form-control @error('token') is-invalid @enderror" name="token" placeholder="enter your token">
@error('token')
<span class="invalid-feedback">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="form-group">
<button class="btn btn-primary">Validate token</button>
</div>
</form>
</div>
然后在web.php 我有这些路线:
Route::get('/settings/twofactor/phone' , [App\Http\Controllers\Admin\AdminSettingsController::class, 'getPhoneVerify']);
Route::post('/settings/twofactor/phone' , [App\Http\Controllers\Admin\AdminSettingsController::class, 'postPhoneVerify'])->name('profile.2fa.phone');
但是现在当我添加令牌并按下 Validate Token 按钮时,我得到了这个错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持 GET 方法。支持的方法: 发布。
那么这里出了什么问题?我该如何解决这个问题?
非常感谢你们的任何想法或建议......
提前致谢。
以下是所有路线:
Route::get('/', function () {
return view('welcome');
});
Route::prefix('admin')->middleware(['auth', 'verified'])->group(function() {
Route::get('/', function () {
return view('admin.index');
});
Route::resource('users' , App\Http\Controllers\Admin\AdminUserController::class)->middleware('admin');
Route::get('/settings', [App\Http\Controllers\Admin\AdminSettingsController::class, 'index'])->name('profile');
Route::post('/settings/twofactor' , [App\Http\Controllers\Admin\AdminSettingsController::class, 'postManageTwoFactor'])->name('profile.2fa.manage');
Route::get('/settings/twofactor/phone' , [App\Http\Controllers\Admin\AdminSettingsController::class, 'getPhoneVerify']);
Route::post('/settings/twofactor/phone' , [App\Http\Controllers\Admin\AdminSettingsController::class, 'postPhoneVerify'])->name('profile.2fa.phone');
Route::get('/auth/token' ,[App\Http\Controllers\Auth\AuthTokenController::class, 'getToken'])->name('2fa.token');
Route::post('/auth/token' ,[App\Http\Controllers\Auth\AuthTokenController::class, 'postToken']);
});
Auth::routes(['verify' => true]);
Route::get('/auth/google', [App\Http\Controllers\Auth\GoogleAuthController::class, 'redirect'])->name('auth.google');
Route::get('/auth/google/callback', [App\Http\Controllers\Auth\GoogleAuthController::class, 'result']);
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
【问题讨论】:
-
不会是
{{ admin('admin.profile.2fa.phone') }}?