Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.javascript > #4932
| Path | csiph.com!weretis.net!feeder4.news.weretis.net!news.unit0.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail |
|---|---|
| From | Stefan Reuther <stefan.news@arcor.de> |
| Newsgroups | de.comp.lang.javascript |
| Subject | Re: Wo ist der Unterschied |
| Date | Fri, 9 Mar 2018 19:40:35 +0100 |
| Lines | 39 |
| Message-ID | <p7unvj.mo.1@stefan.msgid.phost.de> (permalink) |
| References | <p7u0ns$4q4$1@news.albasani.net> <p7u2ph$c2n$1@solani.org> <p7u6k7$erh$1@solani.org> <p7u8r8$frt$1@news.albasani.net> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| X-Trace | individual.net SXcWQ7V/mfIH6t1WabEBMgUyz0j+2ajC1VWZZnH88qACy8/srK |
| Cancel-Lock | sha1:km3n3n5kqLWVdXOSoq5kZHfg75g= |
| User-Agent | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Hamster/2.1.0.1538 |
| In-Reply-To | <p7u8r8$frt$1@news.albasani.net> |
| Xref | csiph.com de.comp.lang.javascript:4932 |
Show key headers only | View raw
Am 09.03.2018 um 16:22 schrieb Jan Novak:
> Am 09.03.2018 um 15:44 schrieb Christoph M. Becker:
>>>> function getDbTree() {
>>>> $.getJSON('fetch.php', function(data) {
>>>> console.dir( data );
>>>> var dataz=JSON.stringify(data);
>>>> console.log( dataz );
>>>> return (dataz);
>>>> });
>>>> }
>>>> $('#tree').treeview({data: getDbTree()});
>>>> </script>
[...]
>> Warum initialisierst du die Treeview nicht direkt im success callback,
>> also etwa:
>>
>> $.getJSON('fetch.php', function(data) {
>> $('#tree').treeview({data: data});
>> });
>
> So funktioniert es. Ich bin echt erstaunt.
> Kannst du mir aber bitte erklären, warum es auf diese Wiese funktioniert
> und auf die andere nicht?
(a) Die Daten, die du willst, kommen im Parameter 'data' an. Also musst
du den Parameter 'data' auch irgendwie in '.treeview()' hineinfüllen.
Deine 'getDbTree' loggt den aber nur, konvertiert sie in einen String
'dataz' und liefert den zurück. Die Daten sind also hinterher weg.
(b) Ernsthaftes JavaScript arbeitet asynchron[*], d.h. die Funktion
'getJSON' kehrt sofort zurück, der Rückgabewert kann gar nicht die Daten
enthalten. Der Callback 'function(data)...' wird irgendwann später
aufgerufen, wenn dein "Hauptprogramm" lange beendet ist, und sein
Rückgabewert (der String) ist wiederum egal.
[*] man kann auch synchron Daten laden. Sollte man aber nicht.
Stefan
Back to de.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-09 14:03 +0100
Re: Wo ist der Unterschied "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-03-09 14:39 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-09 14:45 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-09 15:03 +0100
Re: Wo ist der Unterschied "Christoph M. Becker" <cmbecker69@arcor.de> - 2018-03-09 15:44 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-09 16:22 +0100
Re: Wo ist der Unterschied Stefan Reuther <stefan.news@arcor.de> - 2018-03-09 19:40 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-12 10:37 +0100
Re: Wo ist der Unterschied Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-03-12 14:14 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-13 07:44 +0100
Re: Wo ist der Unterschied Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-03-13 19:46 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-14 08:00 +0100
Re: Wo ist der Unterschied Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-03-14 13:58 +0100
Re: Wo ist der Unterschied Jan Novak <repcom@gmail.com> - 2018-03-14 15:50 +0100
Re: Wo ist der Unterschied Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-03-14 16:51 +0100
csiph-web