Contrôleur doit retourner une réponse dans Symfony2

J'ai un appel ajax dans mon code. Ce que je veux atteindre avec l'appel fonctionne très bien. Je veux supprimer certains enregistrements de la base de données qui est réellement supprimé lorsque la méthode est appelée par ajax, mais comme dans symfony méthode doit retourner une réponse et c'est pourquoi, lorsque l'exécution de la méthode sa me donne l'erreur

Mon appel Ajax est

  $.ajax({
        type: "POST",
        data: data,
        url:"{{ path('v2_pm_patents_trashpatents') }}",
        cache: false,
        success: function(){
        document.location.reload(true);
        }
    });

Et de la méthode qui est exécutée est

 public function trashpatentAction(Request $request){
    if ($request->isXmlHttpRequest()) {
        $id = $request->get("pid");
        $em = $this->getDoctrine()->getEntityManager();
        $patent_group = $em->getRepository('MunichInnovationGroupPatentBundle:PmPatentgroups')->find($id);
        if($patent_group){
            $patentgroup_id = $patent_group->getId();
            $em = $this->getDoctrine()->getEntityManager();
            $patents = $em->getRepository('MunichInnovationGroupPatentBundle:SvPatents')
            ->findBy(array('patentgroup' => $patentgroup_id));
            if($patents){
                foreach($patents as $patent){
                    if($patent->getIs_deleted()==false){
                        $patent->setIs_deleted(true);
                        $em->flush();
                    }
                }
            }
            $patent_group->setIs_deleted(true);
            $em->flush();
        }
        else{
            $em = $this->getDoctrine()->getEntityManager();
            $patent = $em->getRepository('MunichInnovationGroupPatentBundle:SvPatents')->find($id);
            if ($patent) {
                $patent->setIs_deleted(1);
                $em->flush();
            }
        }
        return true;
    }
}

Comment puis-je réussir à revenir à partir de cette méthode ?
Des idées? Grâce

Utilisez-vous des annotations?
oui j'ai utiliser les annotations
il ne sera en effet si nous utiliser les annotations?Parce que je utiliser YML, c'est facile et compréhensible.
Cette vérification n'est pas bon if ($request->isXmlHttpRequest()), supposons que vous souhaitez tester dans un autre onglet du navigateur pour vérifier que votre réponse est juste (en ignorant d'un problème de configuration option dans votre JS demande qui peut causer un mauvais comportement de réponse), vous ne pouvez pas... Chaque contrôleur doit toujours vous donner une réponse (200, 204, 400, etc...) de Votre contrôleur ignore la demande si ce n'est une requête AJAX...

OriginalL'auteur Zoha Ali Khan | 2012-06-25