Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Javascript funktioniert nur mit Debugger Breakpoint in Funktionsaufruf

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.10.2010
    Beiträge
    9

    Javascript funktioniert nur mit Debugger Breakpoint in Funktionsaufruf

    Hallo Leute,

    ich habe ein komisches Verhalten bei meinem Javascript Schnipsel in der Ausgabe des aktuellen Projektes festgestellt. ich nutze die Flot Plot Engine und bekomme Daten von einem PHP Skript als JSON. Das Javascript übergibt diese dann an Flot zum Plotten, das funktioniert auch sehr gut. Will ich aber nun aus diesen einzelnen Funktionen die Rückgabe in globale Variablen schreiben, um sie dann nochmal alle zusammen in einem Graph zu plotten, werden die Daten nicht geplottet, nur das Grid und die Legende und die Axen des Graphen, nicht aber die Daten an sich. Setze ich in diese Funktion irgendwo einen Breakpoint mit Firebug, werden auch die Daten einwandfrei geplottet. Was mache ich falsch?
    Ich habe euch mal den Code der HTML Datei (als txt) angehängt. Würde mich freuen, wenn mal jemand drüber schaut.

    Viele Grüße
    Göck

  2. #2
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von goeck Beitrag anzeigen
    Hallo Leute,

    ich habe ein komisches Verhalten bei meinem Javascript Schnipsel in der Ausgabe des aktuellen Projektes festgestellt. ich nutze die Flot Plot Engine und bekomme Daten von einem PHP Skript als JSON. Das Javascript übergibt diese dann an Flot zum Plotten, das funktioniert auch sehr gut. Will ich aber nun aus diesen einzelnen Funktionen die Rückgabe in globale Variablen schreiben, um sie dann nochmal alle zusammen in einem Graph zu plotten, werden die Daten nicht geplottet, nur das Grid und die Legende und die Axen des Graphen, nicht aber die Daten an sich. Setze ich in diese Funktion irgendwo einen Breakpoint mit Firebug, werden auch die Daten einwandfrei geplottet. Was mache ich falsch?
    Ich habe euch mal den Code der HTML Datei (als txt) angehängt. Würde mich freuen, wenn mal jemand drüber schaut.

    Viele Grüße
    Göck
    das success callback des ajax aufrufs wird bei dir aufgerufen nachdem $.plot aufgerufen wird. zum zeitpunkt wo du $.plot aufrufst sind also noch keine daten vorhanden, die geplottet werden sollen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.10.2010
    Beiträge
    9
    Zitat Zitat von msi Beitrag anzeigen
    das success callback des ajax aufrufs wird bei dir aufgerufen nachdem $.plot aufgerufen wird. zum zeitpunkt wo du $.plot aufrufst sind also noch keine daten vorhanden, die geplottet werden sollen.
    Hallo,

    das erklärt auch, warum ich den Bug durch einen Timeout beheben konnte, vorerst. Ich habe die $.plot Funktion mit einem setTimeout() von 50mSec versehen. Wie kann ich allerdings festlegen, dass die $.plot Funktion als letztes ausgeführt wird?

    Viele Grüße und vielen Dank
    Göck

  4. #4
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    in jedem success callback eine funktion aufrufen. in dieser funktion schauen ob ein zähler bereits X (anzahl ajax requests) erreicht hat. wenn ja dann chart plotten ansonsten nur den zähler erhöhen.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •