Symfony2 + AJAX:无法获取控制器中的数据

时间:2013-01-20 00:42:47

标签: ajax symfony doctrine-orm

问题


我正在使用带有AJAX的Symfony2在我的“位置”表中插入新记录。 我可以轻松地将表单中我想要的数据传递给处理它的Controller AJAX请求。我查看了Firebug,所有的GET值都是我想要的。 只是要清楚控制器不在位置控制器中,而是在调试控制器中,不知道是否重要。 (仅适用于沙箱测试atm)。

由于数据库中的关系,位置实体有一个区域列,需要一个区域实体对象。

现在问题是,如果我省略$ em-> flush(),此代码会将成功响应返回。如果我添加$ em-> flush()来执行插入操作,我的浏览器控制台中会出现500内部错误。

这是我的控制器的代码:

        $request = $this->container->get('request');
        if($request->isXmlHttpRequest()){

              $street = $request->query->get('street');
              $zip = $request->query->get('zip');
              $lat = $request->query->get('lat');
              $name = $request->query->get('name');
              $number = $request->query->get('number');

              // insert into object
              $entity  = new Location();
              $entity->setStreet($street);
              $entity->setZip($zip);
              $entity->setLat($lat);
              $entity->setName($name);
              $entity->setNumber($number);


              $em = $this->getDoctrine()->getManager();
              $district = new District();
              // get the district hard coded for testing
              $district = $em->getRepository("SnowFrontBundle:District")->find(7);
              $entity->setDistrict($district);
              //$entity->setDistrict(null);
              $em->persist($entity);
              $em->flush();
              //prepare the response, e.g.
              $response = array("code" => 100, "success" => true);
              return new Response(json_encode($response));
        }



问题


$ em-> flush()部分可能出现什么问题?我怎样才能看到真正的错误是什么? (而不是500内部错误)。我应该使用createFormBuilder吗?

0 个答案:

没有答案