@paulvales

После нескольких повторений ajax -ошибка, в чем проблема?

Здравствуйте, выполняется AJAX каждые 15 секунд, после некоторого времени появляется ошибка ubderfiend. Как избавиться от этой ошибки?

function news() {
var msg = $('#formx').serialize();
for(var i = 1; i < 1000; i++) {window.clearInterval(i);}
var newstimer = window.setInterval('news();', 15000);
$('#conn').addClass('progress');
$.ajax({
type: 'POST',
url: '/a/new.php',
data: msg,
success:function(data) {
$('#conn').html(data);
},
complete: function() {
// деактивация индикатора
$('#conn').removeClass('progress');
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
}
  • Вопрос задан
  • 275 просмотров
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Вместо генерации кучи отложенных вызовов
var newstimer = window.setInterval('news();', 15000);

нужно вызывать один раз
setTimeout(news, 15000);

Вы хоть понимаете, что после первого отложенного вызова news() через 15 секунд эта функция будет вызвана 2 раза, после следующих 15 секунд 4 раза, и так далее в геометрической прогрессии 2n?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
try-catch
Ответ написан
Комментировать
var newstimer = window.setInterval(function(){news();}, 15000);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы