ajax中PHP如何返回商家列表数据后如何再实现滚动分页?

$.ajax({
    url:'merlist.php?id=$id',
    data: data,
    type:'get',
    async:false,
    dataType: 'html',
    success:function(d){
        $('.item ul').html(d);
    }
});

AJAX代码如上(因为需要从AJAX传递参数给PHP),从PHP返回数据后的商家列表如何再进行滚动加载下一页呢?(当前只能手动点击链接分页)。

阅读 3.1k
4 个回答

不需要第几页,后端可以根据last_id判断,where id < last_id order by id desc

    //滚动加载
    var loadable = true;
    window.addEventListener('scroll', function() {
        if(!loadable){
            return;
        }
        if($(window).scrollTop() + $(window).height() >=$(document).height()){
            setTimeout(function () {
                loadable = false;
                $.post('', {last_id: $("#last_id").val()}, function(d){
                    if(d.status == -1){
                        loadable = false;
                        $("#nomore").show();
                        return;
                    }
                    var html = d.data.html;

                    $('#nomore').before(html);
                    $("#last_id").val(d.data.last_id);
                    loadable = true;
                }, 'json');
            }, 1000);
        }
        
        
    }, false);  

你是要做那种瀑布流的方式么,可以参考jquery.loadMore插件应该可以实现你要求的功能

传递个页码page给后端.根据规则(每页10或20条)算出limit(10*(page-1),10),json返回动态加载在原列表后面

可以存一个变量页码
`
var i=1
localStorage.setItem("page",i)
$.ajax({

url:'merlist.php?id=$id&page='+localStorage.getItem("page"),
data: data,
type:'get',
async:false,
dataType: 'html',
success:function(d){
    //回调成功
    //localStorage.setItem("page",localStorage.getItem("page")+1);
}

});`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题