Symfony2 Ajax和Jquery

时间:2012-05-14 16:35:57

标签: javascript jquery ajax templates symfony

我正在使用Symfony2和twig为模板开发一个应用程序。我也在使用ajax。这是我控制器中代码的一部分:

    public function testuaanotatuAction(Request $request)
    { 
      if ($request->isXmlHttpRequest())
      {
       return $this->forward('AnotatzaileaAnotatzaileaBundle:Page:Interpretatu');
      }

    // Some code.....
            return $this->render('AnotatzaileaAnotatzaileaBundle:Page:AnotatuInterpretazio.html.twig',
                                   array('Azpimarratu' => $Markagarria->getMarkIdent()));

}


    public function InterpretatuAction()
    {
      return $this->render('AnotatzaileaAnotatzaileaBundle:Page:FAQ.html.twig');
    }

然后这是我在AnotatuInterpretazio.html.twig中的代码'我使用JQuery进行Ajax调用:

<script type='text/javascript'>
          $("#ButtonId").click(function () 
                             {
                               $.ajax({
                                        url: "{{ path('AnotatzaileaAnotatzaileaBundle_testuaanotatu') }}",
                                        type: "POST"
                                       });      
                         });
    </script>

正如您所看到的,我打算通过模板AnotatuInterpretazio.html.twig调用InterpretatuAction。然后InterpretatuAction将调用另一个模板。它不起作用,任何想法?

3 个答案:

答案 0 :(得分:2)

您需要在代码中使用.success函数。如果你不这样做,什么都不会发生

答案 1 :(得分:1)

我认为问题是JavaScript无法解析方法path(),此方法仅适用于服务器端的树枝。

答案 2 :(得分:0)

您可以使用方法path(),始终在{{ }}内的twig模板中(尽管您在脚本中)。 这将是类似的东西:

<a href="{{ path('usuario_logout') }}">Cerrar sesión</a>

此代码是我的某个项目的一部分,并且正在运行。