У меня есть класс js, который публикует некоторые данные. Однако, когда обработчик успеха запущен, он не может найти функцию. Когда класс построен, функция найдена. Я могу вызвать это из любой другой функции. Кажется, он просто не может его найти - в обработчике успеха.
Как получить обработчику успеха возможность видеть другие функции в классе?
Я получаю ошибку:
Ошибка типа: this.doSomething не является функцией
class MyClass {
constructor(options) {
this.doSomething();
$("#btn_submit").on('click', function (e) {
e.preventDefault();
post({});
});
}
doSomething() {
console.log('Doing Something');
}
successHandler(data) {
console.log(JSON.stringify(data));
// THIS IS WHERE IT CAN"T FIND THE FUNCTION
// And the error is thrown
this.doSomething();
}
errorHandler() {
console.log('An error occurred);
}
post(data) {
$.ajax({
url : 'some post url',
type : 'POST',
data : data,
contentType: 'application/x-www-form-urlencoded',
dataType : 'json',
success : successHandler,
error : errorHandler
});
}
}