我的问题是,我的POST请求在错误302后总是重定向到GET。这是我的路由文件:
当我在发布之前删除get路由时,Laravel路由失败。 我可以在我的Web浏览器开发工具中看到重定向前的POST请求。
这是我的中间件,它在“web”中间件组中注册。 它只是检查路由是否允许用户角色(ACL规则在配置文件中注册)。
Route::auth();
...
Route::post('/personnalite/creer', 'PersonnaliteController@creerPost')->name('personnaliteCreerPost');
Route::get('/personnalite/creer', 'PersonnaliteController@creerGet')->name('personnaliteCreerGet');
...
当我在发布之前删除get路由时,Laravel路由失败。 我可以在我的Web浏览器开发工具中看到重定向前的POST请求。
这是我的中间件,它在“web”中间件组中注册。 它只是检查路由是否允许用户角色(ACL规则在配置文件中注册)。
class MyAclMiddleware {
public function handle($request, Closure $next) {
$myAcl = App::offsetExists('MyAcl') ? App::make('MyAcl') : null;
if($myAcl) {
if(Auth::guest()) {
$myAcl->setRole(0);
} else {
$myAcl->setRole(Auth::user()->role);
}
if($myAcl->isNotAllowed('route.' . Route::getRoutes()->match($request)->getName())) {
return redirect()->route('erreur', ['id' => 0]);
}
}
return $next($request);
}
}
以下是我的表单Blade模板:
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<div class="panel-heading">Créer une personnalité politique</div>
<div class="panel-body">
{{ @Form::open(['route' => 'personnaliteCreerPost', 'files' => true]) }}
@include('personnalite.subviews.formInfosGenerales')
{{ Form::submit('Créer') }}
{{ @Form::close() }}
@include('personnalite.subviews.listePersonnalites')
</div>
</div>
</div>
</div>
@enduction
其他开箱即用的 Laravel 表单和控制器可用于登录...运行良好。
有人能帮我解决这个问题吗?