Laden Sie Daten in Highcharts mit Ajax

8

Ich versuche, hohe Diagramme beim Laden der Seite zu aktualisieren und bei einem Menüwechsel mit JQUERY AJAX zu wechseln. Es werden Daten im Format [[101228800000], [10,1288800000]] zurückgegeben. Das Diagramm ist leer und zeigt keine der Daten an.

Versuchte mehrere Lösungen, die hier gepostet wurden, aber keine funktionierte.

%Vor%

Irgendwelche Fehler? Danke im Voraus. EDIT:

Der neueste Code funktioniert noch nicht:

%Vor%     
klye_g 01.09.2012, 00:33
quelle

2 Antworten

8

Sie müssen die Methode setData des Serienobjekts verwenden, wie in der Dokumentation beschrieben. In Ihrem Fall ist es options.series[0].setData(Data)

Und ich denke, Sie müssen Ihr Ajax-Ergebnis von String zu einem realen Objekt / Array machen, indem Sie JSON.parse(data) verwenden.

BEARBEITEN: @Ricardo Lohmann: Im Ajax-Aufruf hat er nicht den Datentyp angegeben, den er in der Antwort erwartet, also wird jQuery den Datentyp erraten. Aber es erkennt keine Zeichenfolge, die mit [ als JSON beginnt, und ich bezweifle, dass seine Antwort mit dem korrekten Mime-Typ application/json geliefert wird. Wenn Sie also den richtigen Mime-Typ angeben, sollte das Problem ebenfalls gelöst werden. Aber ich habe kein Beispiel für die vollständige Ajax-Antwort des Fragestellers. Also rate ich auch nur.

Ich würde den folgenden Ajax-Aufruf empfehlen:

%Vor%

@Jugal Thakkar

$.getJSON ist nur eine Abkürzung für den obigen Ajax-Aufruf, aber es ist weniger flexibel, weil Sie weniger Optionen haben.

    
LeJared 01.09.2012, 21:25
quelle
4

Sie müssen data direkt auf series setzen, weil data bereits ein mehrdimensionales Array ist.
Der folgende Code wird es beheben.
Ändern Sie options.series.push(data); in options.series = data;

    
Ricardo Alvaro Lohmann 01.09.2012 01:37
quelle

Tags und Links