Controller müssen eine Antwort zurück in Symfony2

Habe ich ein ajax-Aufruf in meinem code. Was ich erreichen will mit dem Aufruf funktioniert einwandfrei. Ich möchte löschen Sie einige Datensätze aus der Datenbank, die eigentlich gelöscht, wenn die Methode aufgerufen wird, über ajax, aber wie in symfony Methode muss es eine Antwort zurück und das ist, warum, wenn die Methode ausgeführt wird, Ihr gibt mir die Fehlermeldung

Mein Ajax-Aufruf

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

Und die Methode, die ausgeführt wird, ist

 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;
    }
}

Wie kann ich erfolgreich die Rückgabe von dieser Methode ?
Irgendwelche Ideen? Dank

  • Verwenden Sie Anmerkungen?
  • ja ich benutze annotation
  • hat es Auswirkungen, wenn wir die annotation?Da ich mit YML es ist einfach und verständlich.
  • Prüfen das ist nicht gut, wenn ($request->isXmlHttpRequest()), angenommen, Sie möchten die Prüfung in einem anderen tab des Browsers zu überprüfen, dass Ihre Antwort richtig ist (ignorieren eine falsch eingestellte option in deinem JS-Anforderung, kann die Ursache für eine schlechte response-Verhalten), können Sie nicht... Jeder controller muss Ihnen immer eine Antwort (200, 204, 400, etc...) Ihre controller ignoriert die Anfrage, wenn nicht, wird eine AJAX-Anfrage...
Schreibe einen Kommentar