Прежде всего: я не знаю точно, как вызвать everyting, так как я совершенно новичок в более OOP-способе написания javascript, поэтому я попытаюсь объяснить все как хорошо насколько возможно.Использование свойств родительского объекта внутри функции jQuery и других методов
Моя проблема заключается в том, что я хочу получить доступ к свойствам внутри объекта (поэтому я могу использовать ключевое слово this
.Это отлично работает, пока я вхожу в область действия объекта. хотели бы обращаться к этим свойствам, а я не могу использовать this
-ключевое слово больше
Мой код:.
var Octa = Octa || function() {
this._initialize();
};
Octa.prototype = {
string: 'Foo',
_initialize: function() {
console.log(this.string); //Output: "Foo"
this.othermethod();
}
}
var Octa = new Octa();
Но когда у меня есть метод в качестве Octa
метода, так вне сферы, где я не могу использовать this
больше не нужно получать Octa
, я не могу связаться с вами в течение Octa
.
Например:
othermethod: function() {
$.ajax({
url: this.globalUrl + 'content/language/lang.' + l + '.php',
data: {
ajax: true
},
dataType: 'json',
success: function (response) {
Octa.lang = response;
}
});
console.log(JSON.stringify(this.lang)); //Output: null, which means Octa.lang wasn't reachable in the ajax success event (the ajax request was successful).
}
Есть ли способ достичь сферы Octa
внутри других объектов? Или в jQuery обратных вызовах, так как там возникает такая же проблема.
Надеюсь, моя проблема понятна, а если нет, я постараюсь дать больше разъяснений.
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-do-return-the-response-from-an-asynchronous- звонок) – Grundy
$ .ajax был всего лишь примером. Неважно, что я использую, когда я выхожу за пределы «Окта», я не могу дотянуться до него. Но я все равно прочту другой пост. Благодаря! – Galago
_ $. Ajax был всего лишь примером. Я бы порекомендовал вам удалить '$ .ajax', поскольку на первый взгляд вопрос подходит для закрытия как обман. – Satpal