1

我正在尝试实现无限滚动选项。我正在使用 symfony2 框架。

html 看起来像这样:

<div id='more' >Loading...</div>
<div id='no-more' >No more results</div>
<div id='result'></div>

控制器:

if($request->isXmlHttpRequest()){
   $appResult = THIS IN AN ARRAY WITH ALL THE RESULTS ......
   $return=array("responseCode"=>400, "appResult"=>$appResult);
   $return=json_encode($return);
   return new Response($return,200,array('Content-Type'=>'application/json'));
}

和javascript:

<script type="text/javascript">
        var page = 1;


        $(window).scroll(function () {
            $('#more').hide();
            $('#no-more').hide();


            if($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
                $('#more').css("top","400");
                $('#more').show();

            }
            if($(window).scrollTop() + $(window).height() == $(document).height()) {

                $('#more').hide();
                $('#no-more').hide();

                page++;

                var data = {
                    page_num: page
                };

                var actual_count = 30;

                if((page-1)* 12 > actual_count){
                    $('#no-more').css("top","400");
                    $('#no-more').show();
                }else{
                     $.ajax({
                        type: "POST",
                        url: "{{ path('login') }}",
                        data:data,
                        success: function(res) {


WHAT I DO HERE????


                        }
                    });
                }

            }


        });

</script>

该代码工作正常,它发送请求并接收包含所有结果的响应数组。但我不知道如何处理这些结果,如何在结果 div 中打印它们?

4

1 回答 1

0

我假设“res”正在返回 HTML,并且您希望该数据进入#result div?如果是这样,请将其放在成功函数中:

$('#result').html($(res));

或者也许只是

$('#result').html(res);

如果您返回的“res”是 JSON,您必须以某种方式对其进行解析,然后将其放在 div 中。你能告诉我们 res 的结果是什么吗?

编辑:因为它是 JSON,您可能必须执行以下操作:

var data = $.parseJSON(res);
$.each(data, function(index, value) {
    var currentHTML = $('#result').html();
    $('#result').html(currentHTML + this.description);
});
于 2012-06-29T17:49:53.767 回答