提交后停止Symfony表单重定向

时间:2016-05-23 10:00:29

标签: javascript php forms symfony

我有一个弹出窗口中呈现的表单。当表单提交并有效时,数据将被保存,并且我将重定向到表单的路由。我怎么能停止重定向?我不想渲染另一个页面,我的目标是在有效提交后关闭弹出窗口。

public function addFeedbackAction(Request $request)
 {
   $view = View::create();

   $feedback = new Feedback();
   $feedbackService = $this->get('main.feedback.service');
   $form = $this->createForm(new FeedbackType(), null, ['action' => 'feedback']);
   $form->handleRequest($request);

   if ($form->isValid()) {
       $formData = $form->getData();
       $feedbackService->create($formData, $feedback);

       return null;
   }
   $view
     ->setData($form)
     ->setTemplateData($form)
     ->setTemplate('MainBundle:Modals:feedback.html.twig');

   return $view;

2 个答案:

答案 0 :(得分:1)

您可以使用Javascript捕获提交事件。

你可以在这里找到一个使用JQuery的例子: https://api.jquery.com/submit/

答案 1 :(得分:0)

使用AJAX发送数据

$.ajax({
        type: "POST",
        url: "yourControllerHere",
        data: form.serialize(),
        beforeSend: function() {
            //TODO: Loading
        },
        error: function( xhr){

        },
        success: function( data ){          

         }
    });

然后你可以处理你将要做的事情:功能(数据)