Php 如何在symfony2中将视图文件呈现为ajax请求的json对象

Php 如何在symfony2中将视图文件呈现为ajax请求的json对象,php,ajax,symfony,Php,Ajax,Symfony,我有一个登录过程的操作。现在,我想对正常登录过程和ajax请求使用相同的操作 /** * @Route("/sponsor/login", name="sponsor_login", options={"expose"=true}) * @Template("SponsorBundle::login.html.twig") * @return array */ public function

我有一个登录过程的操作。现在,我想对正常登录过程和ajax请求使用相同的操作

        /**
         * @Route("/sponsor/login", name="sponsor_login", options={"expose"=true})
         * @Template("SponsorBundle::login.html.twig")
         * @return array
         */
         public function loginAction()
         {}
我希望此操作为xmlhttp请求和普通http请求呈现不同的视图文件。我该如何做?我想在json对象中传递视图文件

您可以这样做:

return $this->getRequest()->isXmlHttpRequest()
 ? $this->render(.... "form.html.twig" ....)
 : $this->render(... full page that will include the form ...) ;

您可以这样做:

return $this->getRequest()->isXmlHttpRequest()
 ? $this->render(.... "form.html.twig" ....)
 : $this->render(... full page that will include the form ...) ;


您也可以检查这一点,但您是如何在json中呈现模板的?类似于
json\u encode(array('output'=>rendertemplate())
这可能有助于其他人将视图作为json的一部分呈现。您也可以检查这一点,但您是如何在json中呈现模板的?类似于
json\u编码(数组('output'=>rendertemplate())
这可能会帮助其他人将视图呈现为json的一部分,但如何呈现OP提到的json中的模板?这可能会帮助其他人将视图呈现为json的一部分,但如何呈现OP提到的json中的模板?这可能会帮助其他人将视图呈现为json的一部分