为了账号安全,请及时绑定邮箱和手机立即绑定

Wordpress AJAX 加载更多检查帖子的结尾

Wordpress AJAX 加载更多检查帖子的结尾

PHP
临摹微笑 2021-10-22 13:26:37
我的 AJAX 加载更多功能没有正确检查帖子的结尾 - 如果没有帖子,它会再显示一次预加载器。这是由于每次在发送 ajax 请求之前删除 pleroader 的隐藏类造成的。我应该如何检查帖子的结尾是否正确?AJAX如果响应为 0 - 只需隐藏预加载器。因此,在不应该显示的情况下,会再次显示预加载器。    var page = 3;    var emptyQuery = false;    function load_posts() {        page++;        var category = $('.cat-list__item.active').data('category');        $.ajax({            url: flow.ajax_url,            type: 'POST',            beforeSend: function (jqXHR) {                $('body').addClass('loading');                if ($('.preloader').length) {                    $('.preloader').removeClass('preloader--hidden');                }            },            data: {                action: 'scroll_post_load',                page: page,                category: category            },            success: function (response) {                if ( response==0 ) {                    emptyQuery = true;                    if ($('.preloader').length) {                        $('.preloader').addClass('preloader--hidden');                    }                } else {                    if ($('.preloader').length) {                        $('.preloader').addClass('preloader--hidden');                    }                    var html = response;                    $(html).hide().appendTo('.posts-list').fadeIn(1000);                }                $('body').removeClass('loading');            }        });    }    // Scripts which runs on scrolling    $( window ).on( 'scroll', function() {        if( $(window).scrollTop() > $('.posts-list').height() && !$('body').hasClass('loading')) {            if(emptyQuery == false) {                load_posts();            }        }    } );
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

如果您只是在响应中返回页面总数,然后在脚本中检查下一页是否是最后一页或其他内容,则可以解决此问题。

这就是我通常这样做的方式。我总是随内容一起返回最大页数,以便我可以检查是否需要最后一次执行 AJAX 调用。




查看完整回答
反对 回复 2021-10-22
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信