jQuery加载更多按钮

时间:2013-03-15 11:03:51

标签: javascript jquery load

我有一些很好的代码,可以很好地与Wordpress一起使用。它基本上为自定义循环添加了一个加载更多按钮,当单击时会添加下面的下一批帖子。

我遇到的问题是从下面的代码片段中获取这行代码:error: function() { jQuery('button.load-more').attr('disabled', 'disabled').text('No More Posts') } // Disable the button and change its contents when there are no more posts

基本上,当没有更多帖子时,按钮不会按照指示被禁用。有人可以帮我解决吗?这是完整的JS:

var page = 1;

loadMore = function () {
    page++ //Increments the page number in the request
    $.ajax({
        url: './page/' + page,
        beforeSend: function () {
            $('#wait').show().parent().find('button.load-more').hide();
        },
        complete: function () {
            $('#wait').hide().parent().find('button.load-more').show();
        },
        success: function (data) {
            var $data = $(data).find('article');
            // Replace div#the-posts with the name of your post container
            jQuery('#posts .inner').append($data);
        },
        error: function () {
            jQuery('button.load-more').attr('disabled', 'disabled').text('No More Posts')
        } // Disable the button and change its contents when there arew no more posts

    }); // End Ajax
}; // End loadMore

jQuery('button.load-more').on('click', loadMore);

1 个答案:

答案 0 :(得分:2)

只有在服务器返回某种错误状态代码时才会调用错误函数,这似乎不会发生。

我的猜测是你需要检查回复。以下可能有效:

    success: function (data) {
        var $data = $(data).find('article');
        if ($data.length > 0) {  
          // Replace div#the-posts with the name of your post container
          jQuery('#posts .inner').append($data);
        }
        else {
          jQuery('button.load-more').attr('disabled', 'disabled').text('No More Posts');
        }
    },

但这只是猜测,因为我不知道响应的样子。