Я пытаюсь настроить объект так, чтобы он имел инкапсулированный метод $ .getJSON. Вот мои настройки:
function Property(price, deposit){
this.price = price;
this.deposit = deposit;
this.getMortgageData = function(){
$.getJSON('http://example.com/index?p='+this.price+'&d='+this.deposit+'&c=?', function(data){
this.mortgageData = data;
});
}
return true;
}
Теперь проблема, кажется, что у меня нет доступа к «это» внутри функции обратного вызова getJSON который имеет смысл.
Есть ли обходной путь для такого типа функций, или я просто думаю об этом совершенно неправильно? Я только когда-либо действительно кодировал с использованием PHP OO, прежде чем JS OO немного для меня.
Другие вещи, которые я пробовал являются:
function Property(price, deposit){
this.price = price;
this.deposit = deposit;
this.getMortgageData = function(){
this.mortgageData = $.getJSON('http://example.com/index?p='+this.price+'&d='+this.deposit+'&c=?', function(data){
return data;
});
}
return true;
}
Но все-таки,
var prop = new Property();
prop.getMortgageData();
// wait for the response, then
alert(prop.mortgageData.xyz); // == undefined
Спасибо, что сработало отлично. –
Добро пожаловать! – kevingessner