Как правильно перенаправить в Zend Framework 3?

У меня есть контроллер со следующим кодом для отображения списка, который можно искать и фильтровать:

public function listAction() {

if($this->getRequest()->isPost()) {
$post = array_filter($this->getRequest()->getPost()->toArray(), function($value) {
return ($value !== null && $value !== false && $value !== '');
});
$this->redirect()->toRoute('myRoute/list', $post);
}
$filter = $this->params()->fromRoute();
// Get correct Data and display as list
}

MyRoute:

'myRoute' => [
'type' => Literal::class,
'options' => [
'route'    => '/myRoute',
'defaults' => [
'controller' => Controller\MyController::class,
'action'     => 'index',
],
],
'may_terminate' => false,
'child_routes' => [
'list' => [
'type' => Segment::class,
'options' => [
'route'    => '/list[/page/:page][/search/:search][/type/:type]',
'defaults' => [
'controller' => Controller\MyController::class,
'action'     => 'list',
'page'       => 1
],
],
],
... other routes

Get-Requests работают правильно, и моя страница загружается в течение нескольких мс. Но при публикации данных страница загружается в течение ~ 5 минут. После этого он в конечном итоге перенаправит и покажет правильную страницу тоже.

Странно то, что на некоторых машинах код работает, а на других редирект post -> выполняется в течение ~ 5 минут. На компьютерах установлены одинаковые ОС и сборки браузера.

Я использую редирект неправильно?

0

Решение

вам нужно добавить return

так что постарайтесь:

 return $this->redirect()->toRoute('myRoute/list', $post);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]