使用Symfony 3.4中的Ajax将数据从树枝发送到控制器

时间:2019-03-26 22:09:48

标签: json ajax symfony

我想在不刷新页面的情况下将数据从视图(Twig)发送到控制器,所以我使用了ajax,以便将数据传递给特定的控制器动作。 这是我在树枝文件中的ajax代码:

   <script>     
        var data = {request : $('#content').val()};

        $.ajax({
          type: "POST",
          url: "{{ path('AjoutAjax') }}",
          data: data,
          success: function (data, dataType) {
            alert(data);
          },
          error: function (XMLHttpRequest, textStatus, errorThrown) {
            alert('Error : ' + errorThrown);
          }
        });
</script> 

这是我的树枝文件:

<div class="column text-lg">Subtotal: <span class="text-medium" id="content">

这是我的控制器操作:


    public function AjoutAjaxAction(Request $request)
    {
        $data = $request->request->get('request');
        echo $data;
        $em = $this->getDoctrine()->getManager();
        $reservation = $em->getRepository('techeventBundle:Panier')->find(11);
        $reservation->setTotal($data);
        $em->flush();
        return $this->render('@reservation/Default/afficherPanier.html.twig');
    }

这是路由文件

affichage:
    path:     /afficherPanier/{iduser}
    defaults: { _controller: reservationBundle:Default:afficherPanier }
AjoutAjax:
    path:     /ajoutAjax
    defaults: { _controller: reservationBundle:Default:AjoutAjax }

问题是:

1 /它没有将数据发送到控制器动作,因为当我尝试使用路径'AjoutAjax'时,它没有显示回显'$ data'。

2 /我应该使用任何路径对“ affichage”或“ AjoutAjax”进行测试以了解其是否有效? '

1 个答案:

答案 0 :(得分:0)

我不是前端开发人员,但我认为您应该在span元素上使用.html().text()而不是.val()

https://api.jquery.com/text/#text