Article View: pl.comp.lang.javascript
Article #51090object + callback = problem
From: Witold Zywica
Date: Tue, 17 Apr 2012 09:50
Date: Tue, 17 Apr 2012 09:50
39 lines
2192 bytes
2192 bytes
Witam
mam taką sytuację. Mam sobie obiekt w który mam metodę render().
Metoda sprawdza czy ma co wyrenderować i jeśli nie ma to wywołuje
funkcję loadData() . Funkcja ta pobiera z serwera dane zapisane w
JSON. Samego JSON'a pobieram za pomocą jQuery ($.getJSON) z
callbackiem który jest funkcją obiektu z którego wywołuje pobieranie
danych. I tu jest problem bo callback nie widzi zmiennych obiektu w
którym jest zadeklarowany.
Przykład:
function A() {
this.x = 3;
this.callback(data) {
this.x = data.x; //<- tu jest problem bo nie widac
this.x!!!
}
this.loadData = function () {
$.getJSON('skrypt.php', this.callback);
}
this.render = function () {
if (this.x != 3) {
this.loadData();
} else {
document.write('aaaa');
}
}
}
var a = new A();
a.render();
Ktoś może mi powiedzieć co robie zle? Jak w ramach obiektu pobrać
sobie dane i zapisać je do swoich zmiennych? Jak sobie radzić z
wywołaniami callbackow które zdają się być wywołaniami inline?
Technical Details
Message-ID:
<fd024171-140c-4cb5-885b-4ca0ceacf3fa@z17g2000yqf.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!z17g2000yqf.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!z17g2000yqf.googlegroups.com!not-for-mail From: Witold Zywica <witold.zywica@gmail.com> Newsgroups: pl.comp.lang.javascript Subject: object + callback = problem Date: Tue, 17 Apr 2012 02:50:53 -0700 (PDT) Organization: http://groups.google.com Lines: 40 Message-ID: <fd024171-140c-4cb5-885b-4ca0ceacf3fa@z17g2000yqf.googlegroups.com> NNTP-Posting-Host: 194.251.119.198 Mime-Version: 1.0 X-Trace: posting.google.com 1334656253 18788 127.0.0.1 (17 Apr 2012 09:50:53 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 17 Apr 2012 09:50:53 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: z17g2000yqf.googlegroups.com; posting-host=194.251.119.198; posting-account=GCQVcgoAAADjp-6CvhS4IjykuPgElWlE User-Agent: G2/1.0 X-HTTP-Via: 1.1 FIESPRX005 X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit