function chatUpdate() {
var xmlhttp = new XMLHttpRequest();
var url = document.URL + '&action=update';
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
alert(myArr);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
setInterval(chatUpdate(), 1000);
Этот код обновляет чат каждые 3 секунды. Он правильно оповещает myArr
(я просто предупреждаю его о целях отладки), но только один раз - когда страница загружается (но мне это нужно каждые 3 секунды), хотя вызывается setInterval.Как вызвать функцию несколько раз? (В setInterval())
Я думаю, что проблема в том, что onreadystatechange
/readyState
не обновляется после первого запроса. Я очень старался, но мне это не удалось.
Пожалуйста, помогите
http://stackoverflow.com/questions/13574882/multiple-xmlhttprequests-every-x-seconds –
Этот вопрос был задан в десятки раз уже на SO. См. Http://stackoverflow.com/questions/3800512/calling-functions-with-settimeout только для одного примера. Интересно, почему людям так сложно обернуть головы. В документации говорится, что вы передаете функцию. Неужели так сложно отличить функцию от вызова функции? –