Ajax Iterate - повторение вызова AJAX каждые 3 секунды - PullRequest
0 голосов
/ 19 декабря 2018

AJAX-вызов вместо .click load - я бы хотел, чтобы ajax запускался каждые 3 секунды до конца Total_Records.Вот мой код AJAX, который запускает .click кнопки.

Я передаю две переменные 1. Идентификационный номер
2. Total_Records

Я бы хотел, чтобы ajax несколько раз повторял = Total_Records.

Любые предложениявысоко ценится.

$(document).ready(function() {
    $(document).on('click', '.show_more', function() {
        var ID = $(this).attr('id');
        var lim = $(this).attr('Total_Records');
        $.ajax({
            type: 'POST',
            url: 'moreajax.php',
            data: {
                'id': ID,
                'lim': lim
            },
            success: function(html) {
                setTimeout(function() {
                    $('#show_more_main' + ID).remove();
                    $('.postList').append(html);
                }, delay);
            },
        });
    });
});

Метод 2) Пожалуйста, прочитайте и порекомендуйте любой лучший способ или улучшение сценария с примерами, пожалуйста.это пойдет на пользу всем.

Примечание: я полагаю, что этот метод будет большим улучшением и может использоваться многими людьми, которые ищут интервальные прогоны.

Единственная проблема - кнопка отмены. Нажатие не останавливаетвызов ajax.

 $('#cancel').click(function() {
        cancel = true;
    });

    $(function() {

        //If cancel variable is set to true stop new calls
        if (cancel == true) return;

        var RecordsInterval = 10 * 1000;
        var fetchRecords = function() {
            console.log('Sending DATA AJAX request...');
            $.ajax({
                type: "POST",
                url: "fetchRecords.php",
                data: {
                    'id': ID,
                    'lim': lim
                }
            }).done(function(html) {
                $('#show_more_main' + ID).remove();
                $('#postList').append(html);
                alert("You got it champ")
                console.log('success');
                console.log('Waiting ' + (RecordsInterval / 1000) + ' seconds');
                setTimeout(fetchRecords, RecordsInterval);

            }).fail(function() {
                console.log('error');
                alert("error Champ");
                return;
            });
        }

        // Fetch Records immediately, then every 10 seconds AFTER previous request finishes
        fetchRecords();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...