Когда я отправляю форму с данными на сервере во второй раз, она перенаправляет меня на маршрут, который обрабатывает запрос от клиента.Symfony2 переадресации при повторной отправке формы
Что я имею в виду
У меня есть метод контроллера, который принимать запрос от клиента, как AJAX и проверки данных
public function addCommentAction(Request $request)
{
$post = new Post();
$form = $this->createForm(new PostType(), $post);
$post->setCreated(new \DateTime('now'));
if ($request->getMethod() == 'POST') {
$form->submit($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($post);
$em->flush();
$this->get('session')->getFlashBag()->add('success', 'Comment has been sent on moderation. Wait 1 minute before send another comment.');
}
}
return $this->render('GuestbookBundle:Post:postForm.html.twig', array(
'form' => $form->createView(),
));
}
Мой Аякса. Сериализация формы и после этого послать запрос на сервер с данными из формы
$('.container .form-comment .send-comment').on('click', function(e) {
var $from = $(this).closest('form');
e.preventDefault();
$.ajax({
type: "POST",
url: $from.attr('action'),
data: $from.serialize(),
success: function(data) {
$('.form-comment').empty().append(data);
}
})
});
Когда я нажимаю кнопку отправить второй раз, когда он перенаправляет меня на странице mydomain.com/add, которые обрабатывают запрос от формы
add:
path: /add
defaults: { _controller: GuestbookBundle:Post:addComment }
requirements:
_method: POST
Как это исправить? Почему после успеха отправьте мою форму непонятно?
спасибо.
Я думаю, что на слушателе не зарегистрирован во второй раз вокруг – Koalabaerchen
Что вы имеете в виду? Вы можете объяснить. –
@MaximR какой ожидаемый результат после отправки формы? –