Javascript 在symfony项目中使用ajax删除项

Javascript 在symfony项目中使用ajax删除项,javascript,php,ajax,symfony,twig,Javascript,Php,Ajax,Symfony,Twig,您好,我正在寻找一个脚本,可以让我删除一个使用ajax的symfony项目中的项目,我没有找到任何解决方案,我试图通过id删除一个项目(我给出了一个静态id),然后在不刷新页面的情况下得到结果 这是我的控制器 $em = $this->getDoctrine()->getManager(); $evenement = $em->getRepository("TunisiaMallBundle:Evenement")->find(39); $em->remove($e

您好,我正在寻找一个脚本,可以让我删除一个使用ajax的symfony项目中的项目,我没有找到任何解决方案,我试图通过id删除一个项目(我给出了一个静态id),然后在不刷新页面的情况下得到结果 这是我的控制器

$em = $this->getDoctrine()->getManager();
$evenement = $em->getRepository("TunisiaMallBundle:Evenement")->find(39);
$em->remove($evenement);
$em->flush();
$evenements = $em->getRepository("TunisiaMallBundle:Evenement")->findAll();
$response = new Response();
$response->headers->set('Content-Type', 'application/json');
$response->setContent(json_encode($evenements));
return $response;
我不知道我在做什么,我也应该回去。

在你的树枝上放上这样的东西:

<button class="deleteBtn" id="{{ item.id }}">Remove</button>
以及控制器:

public function ajaxDeleteItemAction(Request $request)
{

    if($request->isXmlHttpRequest()){
        $id = $request->get('entityId');
        $em = $this->getDoctrine()->getManager();
        $evenement = $em->getRepository("TunisiaMallBundle:Evenement")->find($id);

       $em->remove($evenement);
       $em->flush();


    return new JsonResponse('good');
  }
}

这取决于您的Javascript结构——如果您发布了一个AJAX请求并依赖于一个答案(可能是为了显示一条成功消息或重新加载页面),那么您应该返回您想要返回的任何内容。如果您不依赖任何东西,只要返回一个空的
JsonResponse
(这比在原始响应上设置
application/json
要好),如果我返回一个空的json响应,并且我只想显示结果而不刷新页面(我包括了一个表的屏幕截图,我想用ajax删除该项。所以,这样做吧。发布的代码可以工作,您应该只使用您的请求注入要删除的模型的ID。我不知道用javascript写什么。)。
public function ajaxDeleteItemAction(Request $request)
{

    if($request->isXmlHttpRequest()){
        $id = $request->get('entityId');
        $em = $this->getDoctrine()->getManager();
        $evenement = $em->getRepository("TunisiaMallBundle:Evenement")->find($id);

       $em->remove($evenement);
       $em->flush();


    return new JsonResponse('good');
  }
}