我正在使用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将调用另一个模板。它不起作用,任何想法?
答案 0 :(得分:2)
您需要在代码中使用.success
函数。如果你不这样做,什么都不会发生
答案 1 :(得分:1)
我认为问题是JavaScript无法解析方法path()
,此方法仅适用于服务器端的树枝。
答案 2 :(得分:0)
您可以使用方法path()
,始终在{{ }}
内的twig模板中(尽管您在脚本中)。
这将是类似的东西:
<a href="{{ path('usuario_logout') }}">Cerrar sesión</a>
此代码是我的某个项目的一部分,并且正在运行。