Javascript 使用AJAX和symfony按类别筛选节时出错

Javascript 使用AJAX和symfony按类别筛选节时出错,javascript,jquery,ajax,symfony,twig,Javascript,Jquery,Ajax,Symfony,Twig,Im使用AJAX(或triying)按类别过滤一部分电影,以下是Im使用的Jquery代码: $(function(){ $('.Action').click(function(e){ $("#moviesContainer").html("Loading movies..."); $.get($(this).attr("href"), function(data) { $('#moviesContainer').html(data); e.preventDe

Im使用AJAX(或triying)按类别过滤一部分电影,以下是Im使用的Jquery代码:

$(function(){

 $('.Action').click(function(e){
    $("#moviesContainer").html("Loading movies...");
    $.get($(this).attr("href"), function(data) {
    $('#moviesContainer').html(data);
    e.preventDefault();
 });
 return false;
});
});
以及控制器:

/**
 * @Route(path="/show/category/{category}", name="aflam_movie_show")
 * @Template("MoviesBundle:Default:allmovies.html.twig")
 */
public function showMovieByCategoryAction(Request $request, $category)
{
    $em    = $this->getDoctrine()->getManager();
    $dql   = "SELECT a FROM MoviesBundle:Movie a WHERE a.category=" .$category." ORDER BY a.created DESC";
    $query = $em->createQuery($dql);

    $paginator  = $this->get('knp_paginator');
    $pagination = $paginator->paginate(
        $query, /* query NOT result */
        $request->query->getInt('page', 1)/*page number*/,
        5/*limit per page*/
    );

    $pagination->setUsedRoute('aflam_movie_show');

    if($request->isXmlHttpRequest()){
        return array('pagination' => $pagination);
    }
}
我在按钮中设置路径,如下所示:

{% for videocategory in ['Action','Drama','Comedy','Anime','Adults'] %}
   <p class="lead"><a class="{{videocategory}}" href={{path('aflam_movie_show',{category:videocategory})}}">{{videocategory}}</a></p>
{% endfor %}
{%用于[‘动作’、‘戏剧’、‘喜剧’、‘动画’、‘成人’]%中的视频类别]

{%endfor%}

当我点击按钮时,它只显示“正在加载电影…”,有什么问题吗?这是我第一次和symfony打AJAX电话,所以我有点迷路了

查看浏览器的“网络”选项卡,查看您的请求得到了什么响应。我猜是

 return array('pagination' => $pagination);
应该是

 return new Response(array('pagination' => $pagination));
因为控制器必须返回响应


同时将查询移动到存储库类。

这只是完成给定答案的一个重要注意事项

处理AJAX时,除了在“请求”选项卡上使用Symfony profiler外,还必须打开浏览器网络/控制台

i、 e:

通过这样做,在出现错误的情况下,您将能够理解错误,从而能够修复它(给定包含导致问题的文件和行的消息)

在您的情况下,错误肯定与控制器操作中缺少响应有关