Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #4950

Re: not a function

From Jan Novak <repcom@gmail.com>
Newsgroups de.comp.lang.javascript
Subject Re: not a function
Date 2018-05-02 15:06 +0200
Organization albasani.net
Message-ID <pccd3q$j3$1@news.albasani.net> (permalink)
References <pbppha$jg2$1@news.albasani.net> <5377515.lOV4Wx5bFT@PointedEars.de> <pbrqbl$7tr$1@news.albasani.net> <539875bf-65c8-5053-b515-7a6491782f61@PointedEars.de>

Show all headers | View raw


Am 29.04.18 um 01:30 schrieb Thomas 'PointedEars' Lahn:
> Jan Novak wrote:
>> ich habe die Daten jetzt aus der Funktion ausgelagert:
>>
>> $.ajax({
>>        url: variable + '/include/fetch_doc_groups.php',
>>        async: false
>>      }).done(function(data) {
>>        dataNeu = JSON.parse(data);
>>      });
>>
>>
>> und hier nutze ich diese dann so:
>>
>> var initSelectableTree = function() {
>>     return $('#treeview-selectable').treeview({
>>       data: dataNeu,
>>
>> so funktioniert es.
> 
> Aber nur *zufällig*, mit *schneller* Netzverbindung und *lokalem*,
> *schnellen* Server.
> 
> Schau Dir bitte mein UML-Sequenzdiagramm noch einmal *genau* an:
> 
> Du hast lediglich das Problem *verlagert*, denn Deine globale Variable(?!)
> “dataNeu” ist nicht notwendigerweise gesetzt, wenn initSelectableTree()
> aufgerufen wird.  Denn der Server hat möglicherweise noch nicht geantwortet.
> 
> Richtig geht es so (wie Dir bereits vor einem Monat erklärt), und vor allem
> *ohne* globale Variablen:
> 
>    $.ajax({
>       url: … + '/include/fetch_doc_groups.php',
>       async: false
>    }).done(function (data) {
>      var dataNeu = JSON.parse(data);
> 
>      $('#treeview-selectable').treeview({
>         data: dataNeu,
>         …
>      });
>    });
> 
> Du hättest also auch einfach den Bootstrap-Code nehmen und
> 
>    $.getJSON(… + '/include/fetch_doc_groups.php',
>      function (data) {
>        $('#treeview-selectable').treeview({
>          data: data,
>          […]
>        });
>      });
> 
> schreiben können.  Allenfalls wäre noch
> 
>    (function () {
>      var treeView;
> 
>      $.getJSON(… + '/include/fetch_doc_groups.php',
>        function (data) {
>          treeView = $('#treeview-selectable').treeview({
>            data: data,
>            […]
>          });
>        });
> 
>       /* … treeView … */
>     }();
> 
> sinnvoll, wenn Du die Referenz auf den TreeView später noch brauchst.

wahooo.. das macht die ganze Sache etwas deutlicher.
Mal sehen, wie ich das weiter umsetzen werde.
Danke.

Jan

Back to de.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

not a function Jan Novak <repcom@gmail.com> - 2018-04-25 13:41 +0200
  Re: not a function Sascha Hüdepohl <news@juenger-der-himmlischen-teekanne.de> - 2018-04-25 17:49 +0200
    Re: not a function Jan Novak <repcom@gmail.com> - 2018-04-26 07:39 +0200
  Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-25 21:04 +0200
    Re: not a function Jan Novak <repcom@gmail.com> - 2018-04-26 07:55 +0200
      Re: not a function "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2018-04-28 19:50 +0200
      Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-29 01:14 +0200
    Re: not a function Jan Novak <repcom@gmail.com> - 2018-04-26 08:07 +0200
      Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-29 01:30 +0200
        Re: not a function Jan Novak <repcom@gmail.com> - 2018-05-02 15:06 +0200
          Re: not a function Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-05-05 01:00 +0100

csiph-web