1

ログインプロセスのアクションがあります。ここで、通常のログインプロセスとajaxリクエストにも同じアクションを使用したいと思います。

        /**
         * @Route("/sponsor/login", name="sponsor_login", options={"expose"=true})
         * @Template("SponsorBundle::login.html.twig")
         * @return array
         */
         public function loginAction()
         {}

このアクションで、xmlhttpリクエストと通常のhttpリクエストで異なるビューファイルをレンダリングしたいのですが、どうすればよいですか?そして、jsonオブジェクトでビューファイルを渡したい

4

1 に答える 1

1

あなたはこれを行うことができます:

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

また

if ($this->getRequest()->isXmlHttpRequest()){
  $template = "form.html.twig" ;
  $params = ....
} else {
  $template = "login.html.twig" ;
  $params = ....
}

return $this->render($template, $params) ;
于 2012-09-11T09:18:10.983 に答える