У меня странная проблема с ZF3.У меня есть ванильная форма в виде и jquery ajax для отправки его в контроллер, что-то вроде этого:
<form>some form</form>
<script>
$("#form").submit(function (e) {
e.preventDefault();
$.ajax({
method: "POST",
url: "stats",
data: {name: 'TEST'} // name selected in the form
});
});
</script>
Контроллер для статистики действий выглядит следующим образом:
$stat = new Stat();
$route_name = $this->params()->fromRoute('name', 'none');
$post_name = $this->params()->fromPost('name', 'none');
if(!strcmp($route_name, 'none')) // if no redirection yet
{
if(!strcmp($post_name, 'none')) // if no form was sent
{
// display the form to choose the customer
return new ViewModel([
'customer_list' => $stat->get_customer_list(),
]);
}
else // if the form was sent, get name and direct to /stats/someName
{
return $this->redirect()->toRoute('stats', ['name' => 'someName']);
}
}
else // after redirection, get the name in the URL and show some data about this customer
{
return new ViewModel([
'avg_time' => $stat->get_avg_time(rawurldecode($route_name)),
]);
}
Проблема в том, что перенаправление не происходит на экране, но я все равно получаю параметр маршрута, если я печатаю $route_name
после отправки формы.
В любом случае, цель состоит в том, чтобы создать форму с выбором для выбора.имя клиента и загрузить данные клиента в /stats/[name]
.Я иду в неправильном направлении?И проблема перенаправления - ошибка или мой код неверен?