Получаю после вызова функции __self.getJSonData() - пустой обьект {}. Может кто-то найдет ошибку/проблему.
Вот код
(function() {
function Calculator() {
var __self = this;
this.render = function() {
console.log(__self.getJSonData());
}
}
//Получить данные из JSON
Calculator.prototype.getJSonData = function() {
var ajax = new XMLHttpRequest();
var url = 'data.json';
var self = this;
var data = {};
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {
returnData(ajax.responseText);
}
};
ajax.open("GET", url, true);
ajax.send();
function returnData(json) {
data = JSON.parse(json);
console.log(data);
}
return data;
};
window.calculator = new Calculator();
calculator.render();
})();
getJSonDataвозвращается гораздо раньше, чем срабатывает асинхронныйajax.onreadystatechange, внутри которого Вы присваиваетеdataнепустое значение – Jun 01 '16 at 14:45