Проверьте, не осталось ли данных для отправки с помощью AJAX - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь автоматически загрузить данные из базы данных, используя AJAX и PHP. Пока все работает, за исключением div, который проверяет, все ли данные отправлены:

$(document).ready(function() {
    var limit = 50;
    var start = 0;
    var action = 'inactive';
    function load_quote_data(limit, start)
    {
        $.ajax({
            url:"fetch.php",
            method:"POST",
            data:{limit:limit, start:start},
            cache:false,
            success: function(data)
            {
                $('#load_quotes').append(data);
                if(!$.trim(data))
                {
                    $('#load_data_message').html("<button type='button' class='btn-info'> No Data Found </button>");
                    action = 'active';

                }
                else 
                {
                    $('#load_data_message').html("<button type='button' class='btn-info'> Please Wait... </button>");
                    action = 'inactive';
                }
            }
        })
    }

    if (action == 'inactive')
    {
        action = 'active';
        load_quote_data(limit, start);
    }
    $(window).scroll(function(){
        if ($(window).scrollTop() + $(window).height() > $("#load_quotes").height() && action == 'inactive')
        {
            action = 'active';
            start = start + limit;
            setTimeout(function() {
                load_quote_data(limit, start);
            }, 1000);
        }
    });
});

Когда я дохожу до конца, кнопка все еще говорит: «Пожалуйста, подождите ...». Я пытался ответить на аналогичные вопросы, но ни одно из решений у меня не помогло. Как мне go это сделать?

1 Ответ

0 голосов
/ 27 мая 2020

Может быть, вам стоит подумать о WebSockets, они намного эффективнее, чем то, что вы делаете сейчас.

Настройте что-то вроде node.js express сервера, который обрабатывает вашу базу данных через REST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...