ajax выдает undefined, хотя через лог - всё ок
Сама ф-ция аякса, рабочая 100%
function ajax(url, data, after=function(e){}, type='GET') {
$.ajax({type:type, url:url, data:data, dataType: 'json', success: function(msg) {
console.log(this.type +'/' + this.url);
clearLoadingButtons();
if(typeof(after) === 'function') after(msg);
}, error: function (msg) {
clearLoadingButtons();
alert(msg.responseText);
}});
}
Вот мой код:
class language {
constructor() {
this.phrases = {};
}
loadPhrases(after) {
ajax('./js/pages/phrases.json', '', function(msg) {
console.dir(msg); //это все ок главное, выдает все в консоли, все отлично
this.phrases = msg; //а здесь пишет "Cannot set property 'phrases' of undefined"
});
}
}
В чем проблема? В консоль логе msg - это обычный объект, все ок с ним. Пробовал узнать даже через typeof - пишет обьект. А когда пытаюсь присвоить this.phrases = msg, пишет ВАША ПЕРЕМЕННАЯ msg = undefined?!!??!?!?! Что за бред, за 5 лет, впервые сталкиваюсь с подобным. 100000000 раз парсил json, присваивал переменным класса, json енкодированный в php файле и впервые такой бред. Сейчас решил создать кастомный файл, дабы не напрягать сервер. И он мне дичь эту пишет.