Бьюсь уже пятый час и никак не могу понять в чем проблема. Есть класс в котором реализован методы загрузки и обновления данных и методы запуска и остановки таймера. По таймеру вызывается функция загрузки данных(loadData) в которой через ajax загружаются данные, в колбеке вызывается функция обновления данных(updateData) и вот здесь возникает проблема: браузер почему-то не может найти эту функцию ошибка "main.js:14 Uncaught TypeError: this.updateData is not a function"
function Runnable()
{
this.timerID;
this.loadData = function() {
$.ajax({
type: "POST",
url: "ajax_handler.php",
success: function(result) {
try {
jsonObj = $.parseJSON(result);
} catch (e) {
alert('Ошибка на сервере!');
}
//ВОТ ЗДЕСЬ ПРОБЛЕМА, ЭТА ФУНКЦИЯ НЕ НАЙДЕНА
this.updateData(jsonObj);
}
});
};
this.updateData = function(events) {
var countNewData = $(events).size();
for (var i = 0; i < countNewData; i++) {
$($('[id ^= "event_"]')[$('[id ^= "event_"]').size() - 1]).remove();
$('#wrap').prepend('<div id="event_' + (countNewData - i) + '">' + events[i] + '</div>' );
}
};
this.startTimer = function() {
this.timerID = setInterval(this.loadData, 1000);
};
this.stopTimer = function() {
clearInterval(this.timerID);
};
}
$(document).ready( function() {
var r = new Runnable();
r.startTimer();
});