在使用Symfony和js删除后如何重定向

时间:2018-09-27 11:29:20

标签: javascript symfony

删除之后,我试图使用 js 刷新页面,但是我找不到错误。我正在使用 Symfony 4。

如果有人看到我的错误在哪里,那将是非常好的。 :)

这是我的控制器

 /// SUPPRIMER UNE VIDEO ///

/**
 * @Route("/supprimerVideo/{id}", name="deleteVideo")
 * @Method({"DELETE"})
 * @param Request $request
 * @param $id
 * @return \Symfony\Component\HttpFoundation\RedirectResponse
 */
public function deleteVideo(Request $request, $id){

    $mediaVideo = $this->getDoctrine()->getRepository(MediaVideo::class)->find($id);

    $entityManager = $this->getDoctrine()->getManager();
    $entityManager->remove($mediaVideo);
    $entityManager->flush();

    $response = new Response();
    $response->send();
}}

这是我的 js 文件:

const videos = document.getElementById('videos');

if (videos){
    videos.addEventListener('click', e => {
        if(e.target.className === 'btn btn-danger delete-item'){
        if (confirm('Es-tu sur de vouloir supprimer ?')) {
            const id = e.target.getAttribute('data-id');
            fetch('/supprimerVideo/${id}', {
                method: 'DELETE'
            }).then(res => window.location.reload());
        }
    }
    });
}

这是我的 twig 文件:

<div class="col-12" id="videos">
<a href="#" class="btn btn-danger delete-item" data-id="{{video.id}}">Delete</a>
</div>

我也在 base.html.twig 中添加了 script

1 个答案:

答案 0 :(得分:0)

用反引号替换fetch('/supprimerVideo/${id}', {中的引号:

const id = 123;
console.log('/supprimerVideo/${id}')
/supprimerVideo/${id}
console.log(`/supprimerVideo/${id}`)
/supprimerVideo/123

您使用的模板文字$ {}不会替换为实际的id值。在调试工具栏中检查您的请求,以查看您是否真的在symfony应用程序中调用了正确的URL。