Проблема с setInterval (), функция не вызывается

-1

ОБНОВЛЕННАЯ ФУНКЦИЯ:

 <script>
        $.ajaxSetup({
            cache : false
        });

        function getMessage() {
            $.get("php/getMessage.php?q=1" + "&" + Date.now(), function(data) {
                $("#typed").typed({
                    strings : [data],
                    typeSpeed : 30,
                    contentType : 'html',
                });
            });
        };
        setInterval(getMessage, 5000);

</script>

ПРЕДЫДУЩАЯ ВЕРСИЯ:

function getMessage() {
    $.get("php/getMessage.php?q=1", function(data) {
        $("#typed").typed({
            strings : [data],
            typeSpeed : 30,
            contentType : 'html',
        });
    });
};
setInterval(getMessage(), 5000);

Так вот, где моя проблема, похоже, лежит.

Первоначально данные извлекаются из базы данных (через getMessage.php) отлично и записываются на страницу, как ожидалось.

Я уверен, что это, наверное, что-то настолько смехотворно простое, но я совершенно зациклен на том, почему это не происходит, а затем вспоминает каждые 5 секунд и вытаскивает обновленное значение из таблицы.

Буду признателен за помощь!

  • 0
    Можете ли вы добавить типизированную функцию к вашему сообщению?
  • 0
    Не могли бы вы уточнить, какая информация вам нужна. Верхняя часть поста - это функция, которая выполняется и затем вызывается.
Показать ещё 4 комментария
Теги:

2 ответа

3
setInterval(getMessage(), 5000);

Вы вызываете функцию, а затем передаете возвращаемое значение в setInterval. То, что вы на самом деле хотите сделать, это передать функцию setInterval()

setInterval(getMessage, 5000);
  • 0
    Я попробовал это, и единственное, чего он достиг для меня, - это задержка начального выхода на 5 секунд. Новые данные не извлекаются из базы данных.
  • 0
    Ответ в порядке. Просто отключите настройку кэша ajax или добавьте случайный параметр в URL.
Показать ещё 1 комментарий
-3

Как и с ответом tkausl, у вас также есть возможность позвонить

setInterval(function(){getMessage()}, 5000);

Однако это длиннее, так что это сводится к личным предпочтениям.

  • 0
    к сожалению, это происходит точно так же, как указано выше, задерживает первоначальный вызов на 5 секунд и затем не вызывает функцию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню