ОБНОВЛЕННАЯ ФУНКЦИЯ:
<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 секунд и вытаскивает обновленное значение из таблицы.
Буду признателен за помощь!
setInterval(getMessage(), 5000);
Вы вызываете функцию, а затем передаете возвращаемое значение в setInterval
. То, что вы на самом деле хотите сделать, это передать функцию setInterval()
setInterval(getMessage, 5000);
Как и с ответом tkausl, у вас также есть возможность позвонить
setInterval(function(){getMessage()}, 5000);
Однако это длиннее, так что это сводится к личным предпочтениям.